Python逐行读取文件内容的方法总结


Posted in Python onFebruary 14, 2020

Python四种逐行读取文件内容的方法

下面四种Python逐行读取文件内容的方法, 分析了各种方法的优缺点及应用场景,以下代码在python3中测试通过, python2中运行部分代码已注释,稍加修改即可。

方法一:readline函数

# -*- coding: UTF-8 -*-
f = open("/pythontab/code.txt") # 返回一个文件对象
line = f.readline() # 调用文件的 readline()方法
while line:
  # print line,   # 在 Python 2中,后面跟 ',' 将忽略换行符
  print(line, end='') # 在 Python 3中使用
  line = f.readline()
f.close()

优点:节省内存,不需要一次性把文件内容放入内存中。
缺点:速度相对较慢。

方法二:一次读取多行数据

代码如下:
# -*- coding: UTF-8 -*-
f = open("/pythontab/code.txt")
while 1:
  lines = f.readlines(10000)
  if not lines:
    break
  for line in lines:
    print(line)
f.close()

一次性读取多行,可以提升读取速度,但内存使用稍大, 可根据情况调整一次读取的行数

方法三:直接for循环

可以直接对一个file对象使用for循环读每行数据,代码如下:

# -*- coding: UTF-8 -*-
for line in open("/pythontab/code.txt"):
  # print line, #python2 用法
  print(line)

方法四:使用fileinput模块

import fileinput
for line in fileinput.input("/pythontab/code.txt"):
  print(line)

使用简单, 但速度较慢

以上就是本次介绍的全部相关知识点,感谢大家的学习和对三水点靠木的支持。

Python 相关文章推荐
Python THREADING模块中的JOIN()方法深入理解
Feb 18 Python
Python求两个文本文件以行为单位的交集、并集与差集的方法
Jun 17 Python
python写日志封装类实例
Jun 28 Python
利用Python画ROC曲线和AUC值计算
Sep 19 Python
对python for 文件指定行读写操作详解
Dec 29 Python
用Python实现大文本文件切割的方法
Jan 12 Python
Django shell调试models输出的SQL语句方法
Aug 29 Python
Python zip函数打包元素实例解析
Dec 11 Python
python Manager 之dict KeyError问题的解决
Dec 21 Python
python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例
Apr 02 Python
python db类用法说明
Jul 07 Python
Python激活Anaconda环境变量的详细步骤
Jun 08 Python
Python3和PyCharm安装与环境配置【图文教程】
Feb 14 #Python
python对Excel的读取的示例代码
Feb 14 #Python
Python安装依赖(包)模块方法详解
Feb 14 #Python
python 项目目录结构设置
Feb 14 #Python
wxpython自定义下拉列表框过程图解
Feb 14 #Python
python3中使用__slots__限定实例属性操作分析
Feb 14 #Python
python 命名规范知识点汇总
Feb 14 #Python
You might like
星际争霸兵种名称对照表
2020/03/04 星际争霸
PHP 中执行系统外部命令
2006/10/09 PHP
优化PHP代码的53条建议
2008/03/27 PHP
PHP写UltraEdit插件脚本实现方法
2011/12/26 PHP
PHP封装分页函数实现文本分页和数字分页
2014/10/23 PHP
PHP基于DOMDocument解析和生成xml的方法分析
2017/07/17 PHP
通过JS获取用户本地图片路径并显示的代码
2012/02/16 Javascript
javascript中自定义对象的属性方法分享
2013/07/12 Javascript
浅谈JavaScript字符集
2014/05/22 Javascript
js面向对象之静态方法和静态属性实例分析
2015/01/10 Javascript
DOM基础教程之模型中的模型节点
2015/01/19 Javascript
javascript实现完美拖拽效果
2015/05/06 Javascript
jQuery实现带滑动条的菜单效果代码
2015/08/26 Javascript
jquery拖拽排序简单实现方法(效果增强版)
2016/02/16 Javascript
JS实现队列与堆栈的方法
2016/04/21 Javascript
深入理解JS DOM事件机制
2016/08/06 Javascript
原生JS实现在线问卷调查投票特效
2017/01/03 Javascript
jQuery插件zTree实现单独选中根节点中第一个节点示例
2017/03/08 Javascript
Node.js创建Web、TCP服务器
2017/12/05 Javascript
vue-cli配置文件——config篇
2018/01/04 Javascript
深入理解JavaScript 箭头函数
2019/05/30 Javascript
Vue 实现从文件中获取文本信息的方法详解
2019/10/16 Javascript
详解Node.JS模块 process
2020/08/31 Javascript
JavaScript如何实现防止重复的网络请求的示例
2021/01/28 Javascript
深入理解Python中的元类(metaclass)
2015/02/14 Python
Django的数据模型访问多对多键值的方法
2015/07/21 Python
python中使用正则表达式的连接符示例代码
2017/10/10 Python
python爬取淘宝商品详情页数据
2018/02/23 Python
Python数据可视化:幂律分布实例详解
2019/12/07 Python
PyCharm取消波浪线、下划线和中划线的实现
2020/03/03 Python
意大利体育用品和运动服网上商店:Maxi Sport
2019/09/14 全球购物
什么是数组名
2012/05/10 面试题
森林防火工作方案
2014/02/14 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
售房协议书范本
2015/08/11 职场文书
CI Games宣布《堕落之王2》使用虚幻引擎5制作 预计将于2023年正式发售
2022/04/11 其他游戏