python读取txt文件最后一行(文件大+文件小)
2016-04-05 20:33
603 查看
txt文件小
#coding:utf-8 ''' fname为所读xx.txt文件 输出为:文件第一行和最后一行 ''' fname = 'test.txt' with open(fname, 'r') as f: #打开文件 lines = f.readlines() #读取所有行 first_line = lines[0] #取第一行 last_line = lines[-1] #取最后一行 print '文件' + fname + '第一行为:' + first_line print '文件' + fname + '最后一行为:'+ last_line
当文件很大时,采用这种方法不可行,资源浪费太大,采用下面方案。
txt文件大
#coding:utf-8 ''' f_name为所读xx.txt文件 输出为:文件最后一行 ''' fname = 'test.txt' with open(fname, 'r') as f: #打开文件 first_line = f.readline() #读第一行 off = -50 #设置偏移量 while True: f.seek(off, 2) #seek(off, 2)表示文件指针:从文件末尾(2)开始向前50个字符(-50) lines = f.readlines() #读取文件指针范围内所有行 if len(lines)>=2: #判断是否最后至少有两行,这样保证了最后一行是完整的 last_line = lines[-1] #取最后一行 break #如果off为50时得到的readlines只有一行内容,那么不能保证最后一行是完整的 #所以off翻倍重新运行,直到readlines不止一行 offs *= 2 print '文件' + fname + '第一行为:' + first_line print '文件' + fname + '最后一行为:'+ last_line
相关文章推荐
- Python 对新浪微博的博文元素 (Word, Screen Name)的频率分析
- Python列表和元组
- GDB 编译--with-python unusable python问题
- python get方法
- 关于Python 中的 map()函数
- Python优雅编程技巧
- 数据分类K—means 算法的python代码实现
- Python~~~关键字~~~
- python time 与datetime之间的区别与联系
- Python~迭代
- python time 与datetime之间的区别与联系
- Python描述符(descriptor)解密
- Python~切片Slice
- python version 2.7 required,which was not found in the registry
- 理解Python中的with…as…语法
- Python如何安装egg组件
- python常用内置模块,执行系统命令的模块
- Leetcode 15. 3Sum(python)
- Python3.5入门学习记录-条件控制
- odoo8新旧API related字段类型详解