python回到首行_python读取文件首行和最后一行
python读取文件最后一行两种方式
1)常规方法:从前往后依次读取
步骤:open打开文件。
读取文件,把文件所有行读入内存。
遍历所有行,提取指定行的数据。
优点:简单,方便
缺点:当文件大了以后时间太慢,无法忍受
2)推荐方法:
步骤:open打开日志文件。
移动文件读取指针到文件末尾。
从后往前移动指针直到合适的位置。
读取文件,提取指定行的数据。
优点:时间相对固定,适合处理大文件
代码实现
fname = 'test.html'
with open(fname, 'r', encoding='utf-8') as f: # 打开文件
lines = f.readlines() # 读取所有行
first_line = lines[0] # 取第一行
last_line = lines[-1] # 取最后一行
print('文件' + fname + '第一行为:'+ first_line)
print('文件' + fname + '最后一行为:' + last_line)
with open(fname, 'rb') as f: # 打开文件
# 在文本文件中,没有使用b模式选项打开的文件,只允许从文件头开始,只能seek(offset,0)
first_line = f.readline() # 取第一行
offset = -50 # 设置偏移量
while True:
"""
file.seek(off, whence=0):从文件中移动off个操作标记(文件指针),正往结束方向移动,负往开始方向移动。
如果设定了whence参数,就以whence设定的起始位为准,0代表从头开始,1代表当前位置,2代表文件最末尾位置。
"""
f.seek(offset, 2) # seek(offset, 2)表示文件指针:从文件末尾(2)开始向前50个字符(-50)
lines = f.readlines() # 读取文件指针范围内所有行
if len(lines) >= 2: # 判断是否最后至少有两行,这样保证了最后一行是完整的
last_line = lines[-1] # 取最后一行
break
# 如果off为50时得到的readlines只有一行内容,那么不能保证最后一行是完整的
# 所以off翻倍重新运行,直到readlines不止一行
offset *= 2
print('文件' + fname + '第一行为:' + first_line.decode())
print('文件' + fname + '最后一行为:' + last_line.decode())
python回到首行_python读取文件首行和最后一行相关推荐
- python读取文件第一行_python读取文件首行和最后一行
python读取文件最后一行两种方式 1)常规方法:从前往后依次读取 步骤:open打开文件. 读取文件,把文件所有行读入内存. 遍历所有行,提取指定行的数据. 优点:简单,方便 缺点:当文件大了以后 ...
- python从第二行开始读取文件_python学习笔记—— 从第二行开始读文件
原博文 2018-04-16 16:26 − filename = info.txtf = open('info.txt') next(f) for line in f: print(line)nex ...
- python如何读取文件指定行_Python读取文件、大文件和指定行内容的几种方法
在使用python处理文本的时候,经常会需要读取文件的内容.如果文件比较小,那么直接使用open文件对象打开文件,再通过read()方法最为方便,这种方法就是把文件内容读出来后放到内存变量. read ...
- python读取文件最后几行_python读取文件最后一行两种方法
1)常规方法:从前往后依次读取 步骤:open打开文件. 读取文件,把文件所有行读入内存. 遍历所有行,提取指定行的数据. 优点:简单,方便 缺点:当文件大了以后时间太慢,无法忍受 2)推荐方法: 步 ...
- python删除首行_Python删除文件第一行
一.代码实例: def del_firstline(): for line in fileinput.input("file.txt", inplace = 1): if not ...
- python去重复行_python去除文件中重复的行实例
python去除文件中重复的行,我们可以设置一个一个空list,res_list,用来加入没有出现过的字符行! 如果出现在res_list,我们就认为该行句子已经重复了,可以再加入到记录重复句子的li ...
- python读取文件的第三行_python读取文件第n行
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! pos = pos - 1 try: f.seek(pos, 2) #从文件末尾 ...
- python 使用字节流bytes格式读取文件转为int格式,再转为0,1字符串格式
python 使用字节流bytes格式读取文件转为int格式,再转为0,1字符串格式 with open('test.jpg', 'rb') as src:t = src.read(1) # 读进1B ...
- html代码文本框首行缩进,如何将HTML页面中的文本设置首行缩进,文本首行缩进...
如何将HTML页面中的文本设置首行缩进,文本首行缩进 text-indent属性介绍 属性值单位 描述 em 比如:1em 就代表缩进1个字,2em缩进2个字...... 由于简单我就不过多的介绍了直 ...
最新文章
- python中的常见的列表操作及注意事项
- 电子科技大学计算机课程表,电子科技大学课表.doc
- aes解密流程图_AES加密算法详解
- linux简易扫雷c语言代码,C语言代码实现简易扫雷
- apms阅卷系统服务器,Win 8系统运行APMS阅卷系统的解决办法
- linux重定向文件容加时间,[单选] linux系统,把当前日期重定向到/tmp/date文件中,并不想覆盖原来的内容,下面正确的操作是()。...
- android 开源 视频播放器,安卓视频播放器——ijkPlayer(Bilibili开源)
- 电脑 chrome 浏览器下载视频插件推荐
- lbp特征的matlab实现
- 油猴【QQ空间自动点赞-模拟点击】
- 服务器机房日常维护记录表,机房设备维护记录表
- JWT结果功能用处简单介绍
- 东南大学计算机esl排名,不是江苏考生,你不会知道,这所被戏称福建的“三本”,有多难考...
- Qt编写安防视频监控系统33-onvif云台控制
- 使用YOLOv5实现多路摄像头实时目标检测
- java的protect_java中protect是什么
- 计算机算法与程序设计知识点,算法与程序设计知识点(答案)
- every和some的区别
- 忧天的“杞人” worry wart
- 疯狂的长租公寓:自如、蛋壳们2020的生死决战