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读取文件首行和最后一行相关推荐

  1. python读取文件第一行_python读取文件首行和最后一行

    python读取文件最后一行两种方式 1)常规方法:从前往后依次读取 步骤:open打开文件. 读取文件,把文件所有行读入内存. 遍历所有行,提取指定行的数据. 优点:简单,方便 缺点:当文件大了以后 ...

  2. python从第二行开始读取文件_python学习笔记—— 从第二行开始读文件

    原博文 2018-04-16 16:26 − filename = info.txtf = open('info.txt') next(f) for line in f: print(line)nex ...

  3. python如何读取文件指定行_Python读取文件、大文件和指定行内容的几种方法

    在使用python处理文本的时候,经常会需要读取文件的内容.如果文件比较小,那么直接使用open文件对象打开文件,再通过read()方法最为方便,这种方法就是把文件内容读出来后放到内存变量. read ...

  4. python读取文件最后几行_python读取文件最后一行两种方法

    1)常规方法:从前往后依次读取 步骤:open打开文件. 读取文件,把文件所有行读入内存. 遍历所有行,提取指定行的数据. 优点:简单,方便 缺点:当文件大了以后时间太慢,无法忍受 2)推荐方法: 步 ...

  5. python删除首行_Python删除文件第一行

    一.代码实例: def del_firstline(): for line in fileinput.input("file.txt", inplace = 1): if not ...

  6. python去重复行_python去除文件中重复的行实例

    python去除文件中重复的行,我们可以设置一个一个空list,res_list,用来加入没有出现过的字符行! 如果出现在res_list,我们就认为该行句子已经重复了,可以再加入到记录重复句子的li ...

  7. python读取文件的第三行_python读取文件第n行

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! pos = pos - 1 try: f.seek(pos, 2) #从文件末尾 ...

  8. python 使用字节流bytes格式读取文件转为int格式,再转为0,1字符串格式

    python 使用字节流bytes格式读取文件转为int格式,再转为0,1字符串格式 with open('test.jpg', 'rb') as src:t = src.read(1) # 读进1B ...

  9. html代码文本框首行缩进,如何将HTML页面中的文本设置首行缩进,文本首行缩进...

    如何将HTML页面中的文本设置首行缩进,文本首行缩进 text-indent属性介绍 属性值单位 描述 em 比如:1em 就代表缩进1个字,2em缩进2个字...... 由于简单我就不过多的介绍了直 ...

最新文章

  1. python中的常见的列表操作及注意事项
  2. 电子科技大学计算机课程表,电子科技大学课表.doc
  3. aes解密流程图_AES加密算法详解
  4. linux简易扫雷c语言代码,C语言代码实现简易扫雷
  5. apms阅卷系统服务器,Win 8系统运行APMS阅卷系统的解决办法
  6. linux重定向文件容加时间,[单选] linux系统,把当前日期重定向到/tmp/date文件中,并不想覆盖原来的内容,下面正确的操作是()。...
  7. android 开源 视频播放器,安卓视频播放器——ijkPlayer(Bilibili开源)
  8. 电脑 chrome 浏览器下载视频插件推荐
  9. lbp特征的matlab实现
  10. 油猴【QQ空间自动点赞-模拟点击】
  11. 服务器机房日常维护记录表,机房设备维护记录表
  12. JWT结果功能用处简单介绍
  13. 东南大学计算机esl排名,不是江苏考生,你不会知道,这所被戏称福建的“三本”,有多难考...
  14. Qt编写安防视频监控系统33-onvif云台控制
  15. 使用YOLOv5实现多路摄像头实时目标检测
  16. java的protect_java中protect是什么
  17. 计算机算法与程序设计知识点,算法与程序设计知识点(答案)
  18. every和some的区别
  19. 忧天的“杞人” worry wart
  20. 疯狂的长租公寓:自如、蛋壳们2020的生死决战

热门文章

  1. 怎样才算精通Linux
  2. win7双系统安装openSUSE13.2解决【引导加载器安装期间出错】问题
  3. webtest 文章
  4. 杨森翔的书法:立马【五绝】
  5. Razor视图引擎-基础语法
  6. MongoDB 查询 (转) 仅限于C++开发
  7. 易助erp系统服务器安装,易助ERP系统操作培训教程
  8. 人工智能指用计算机,人工智能测试题..doc
  9. 吃豆人动态模型创建---canvas
  10. python 图片相似度算法比较_python 比较2张图片的相似度的方法示例