为什么80%的码农都做不了架构师?>>>   

先来造一个文件:就叫做 test.txt吧,内容是下面这个样子:

表头
1,数据1
2,数据2
3,数据3
4,数据4
5,数据5
6,数据6
7,数据7

那么我们并不打算把这个表头给读出来

怎么办呢?

先来打开文件:

fileName = 'test.txt'
with open(fileName,'r',encoding='UTF-8') as f:lines = f.readlines()print(str(type(lines))+'\n'+str(lines))

得到下面的结果:

<class 'list'>
['表头\n', '1,数据1\n', '2,数据2\n', '3,数据3\n', '4,数据4\n', '5,数据5\n', '6,数据6\n', '7,数据7\n']
Process finished with exit code 0

那么 f.readlines()返回的是一个列表.每一项是一行

这就好办了,因为列表是可以切片的嘛

fileName = 'test.txt'
with open(fileName,'r',encoding='UTF-8') as f:lines = f.readlines()print(str(type(lines))+'\n'+str(lines))for i in lines[1:6]:print(i.strip('\n'))

这样一切片,就能得到需要的结果了:

<class 'list'>
['表头\n', '1,数据1\n', '2,数据2\n', '3,数据3\n', '4,数据4\n', '5,数据5\n', '6,数据6\n', '7,数据7\n']
1,数据1
2,数据2
3,数据3
4,数据4
5,数据5Process finished with exit code 0

那么如果我想要隔一行读一行呢?

很简单,使用列表切片的步长就行了:

fileName = 'test.txt'
with open(fileName,'r',encoding='UTF-8') as f:lines = f.readlines()print(str(type(lines))+'\n'+str(lines))for i in lines[1:6:2]:print(i.strip('\n'))
<class 'list'>
['表头\n', '1,数据1\n', '2,数据2\n', '3,数据3\n', '4,数据4\n', '5,数据5\n', '6,数据6\n', '7,数据7\n']
1,数据1
3,数据3
5,数据5Process finished with exit code 0

那么我再搞一下,每次输出的结果的行号是个斐波那契数列...也就是输出 1,1,2,3,5,8行这样,要怎么办呢?

def gap(maxtcl):n,a,b=0,0,1while n<maxtcl:yield ba,b=b,a+bn=n+1fileName = 'test.txt'
with open(fileName,'r',encoding='UTF-8') as f:lines = f.readlines()print(str(type(lines))+'\n'+str(lines))for i in gap(5):print(lines[i])

结果:

<class 'list'>
['表头\n', '1,数据1\n', '2,数据2\n', '3,数据3\n', '4,数据4\n', '5,数据5\n', '6,数据6\n', '7,数据7\n']
1,数据11,数据12,数据23,数据35,数据5Process finished with exit code 0

我们思路现在转换到按照列表的索引进行单个元素的输出之后,再考虑一个问题,如何让输出的间隔变成1,2,3这样,也就是输出1,2,4,7行这样

fileName = 'test.txt'
with open(fileName,'r',encoding='UTF-8') as f:lines = f.readlines()print(str(type(lines))+'\n'+str(lines))
linenum=1
for i in range(1,5):print(lines[linenum])linenum=linenum+i
<class 'list'>
['表头\n', '1,数据1\n', '2,数据2\n', '3,数据3\n', '4,数据4\n', '5,数据5\n', '6,数据6\n', '7,数据7\n']
1,数据12,数据24,数据47,数据7Process finished with exit code 0

emmmm........暂时就想到这么多了,have fun :)

转载于:https://my.oschina.net/avatus/blog/2248710

python:关于读取文件的指定行的问题相关推荐

  1. python读取文件第n行-Python实现读取文件最后n行的方法

    本文实例讲述了Python实现读取文件最后n行的方法.分享给大家供大家参考,具体如下: # -*- coding:utf8-*- import os import time import dateti ...

  2. 利用python保存txt文件的指定行/前n行

    ** 利用python保存txt文件的指定行/前n行-等 1.txt文件,每隔n行保存 originPath='open.txt' savePath='save.txt' # 每隔多少行保存一次 l= ...

  3. python修改指定行,python读取文件的指定行并修改

    文件是python最常操作的对象,先看文件,格式固定,每6行一组,且最后一行为空行,这是Python脚本从接口文档上取下来的数据,按固定格式自动生成的RF关键字脚本,由于接口有重复,直接用的话会报错( ...

  4. java 读取文件的指定行_Java中实现读取文件指定行

    Java中实现读取文件指定行 读取文件指定行要用到类LineNumberReader,它是跟踪行号的缓冲字符输入流,其基类是BufferedReader..它有两个构造方法: public LineN ...

  5. python如何读取文件中第一行的元素_python txt读取第一行数据库

    带你读<Python数据分析与数据化运营(第2版)>之一:Python和数据化运营 点击查看第二章点击查看第三章Python数据分析与数据化运营(第2版) 宋天龙 著 第1章 Python ...

  6. Python快速读取文件中指定的一行或多行

    使用linecache用缓存快速读取,使用栗子如下: 读取一行 import linecachedef get_contexts(file_path, line_number):try:return ...

  7. python怎么读文件里的某一行-python如何读取文件中的某几行

    python读取文件的指定行,可以使用以下的方法 1.os.mknod("test.txt") #创建空文件 2.fp = open("test.txt",w) ...

  8. python读取文件第n行-Python读取文件后n行的代码示例

    这篇文章主要介绍了Python实现读取文件最后n行的方法,涉及Python针对文件的读取.遍历与运算相关操作技巧,需要的朋友可以参考下# -*- coding:utf8-*- import os im ...

  9. python读取文件第n行-Python读取文件最后n行的方法

    本文实例讲述了Python实现读取文件最后n行的方法.分享给大家供大家参考,具体如下: # -*- coding:utf8-*- import os import time import dateti ...

  10. python读取文件前30个字符_Python 批量读取文件中指定字符的实现

    1.背景 从指定的NLP生成的文件中读取指定的字符. 2.待读取文件 是以":"作为分隔符的数据,每一行以回车结束.此文件为XXX.train 3.读取每一句中的汉字 ... fi ...

最新文章

  1. 如何用node开发自己的cli工具
  2. C/C++ 32位/64位 sizeof(数据类型)
  3. 细数Android 7.0“牛轧糖”的五大缺陷:不支持悬浮窗口
  4. Python之一行代码
  5. 锁相环PLL/MMCM的使用
  6. Opencv——查找并绘制凸包、凸包与轮廓的关系
  7. 鸿蒙应用开发--应用生命周期
  8. C++ 类的前向声明
  9. HDU 2148 Score
  10. Caffe学习:pycaffe利用caffemodel进行分类=批处理
  11. 自己动手实现SharePointList的分页展示
  12. 使用PHP输出中文JSON字符串
  13. OpenCV源码解析之动态内存管理CvMemStorage与CvSeq
  14. Win7 专业版安装中文包、汉化处理
  15. bandzip屏蔽广告
  16. 作为程序员上班的第一天
  17. 个人公众号如何运营?可以从哪些方向突破?
  18. table表格竖列横排显示
  19. 2023前端面试题------JS 面试题(2) es6
  20. java 压缩jar_Java基础之实现解压和压缩jar、zip、rar等源码分享

热门文章

  1. [Linux]-Shell编程与规范
  2. TestNG套件测试
  3. mysql 数据导入导出说明
  4. Bambook 简介
  5. 黑马程序员-Java学习笔记之抽象类,接口,多态和内部类
  6. drawnow aviread
  7. FeelYourSound Chillout Engine Pro for Mac - MIDI文件生成插件
  8. NoteBurner iTunes DRM Audio Converter for Mac(苹果DRM音频转换器)
  9. Macbook使用技巧:如何在外部显示器上获得4K 60 FPS
  10. 禁止root,处理错误 sudo must be owned by uid 0