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 相关文章推荐
python3生成随机数实例
Oct 20 Python
利用Python的Django框架中的ORM建立查询API
Apr 20 Python
Python实现队列的方法
May 26 Python
Python环境搭建之OpenCV的步骤方法
Oct 20 Python
Python实现的字典值比较功能示例
Jan 08 Python
Django-Rest-Framework 权限管理源码浅析(小结)
Nov 12 Python
python执行CMD指令,并获取返回的方法
Dec 19 Python
Python简单I/O操作示例
Mar 18 Python
Flask教程之重定向与错误处理实例分析
Aug 01 Python
Python标准库:内置函数max(iterable, *[, key, default])说明
Apr 25 Python
Python logging模块原理解析及应用
Aug 13 Python
FP-growth算法发现频繁项集——发现频繁项集
Jun 24 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
一个更简单的无限级分类菜单代码
2007/01/16 PHP
Zend Framework框架实现类似Google搜索分页效果
2016/11/25 PHP
PHP正则表达式匹配替换与分割功能实例浅析
2017/02/04 PHP
PHP 爬取网页的主要方法
2018/07/13 PHP
PHP实现的服务器一致性hash分布算法示例
2018/08/09 PHP
PDO::rollBack讲解
2019/01/29 PHP
javascript showModalDialog模态对话框使用说明
2009/12/31 Javascript
JS的千分位算法实现思路
2013/07/31 Javascript
Bootstrap布局之栅格系统详解
2016/06/13 Javascript
AngularJS中$apply方法和$watch方法用法总结
2016/12/13 Javascript
JavaScript实现的冒泡排序法及统计相邻数交换次数示例
2017/04/26 Javascript
vue.js组件之间传递数据的方法
2017/07/10 Javascript
微信小程序-滚动消息通知的实例代码
2017/08/03 Javascript
vue按需引入element Transfer 穿梭框
2017/09/30 Javascript
vue点击input弹出带搜索键盘并监听该元素的方法
2018/08/25 Javascript
js实现黑白div块画空心的图形
2018/12/13 Javascript
微信小程序实现Swiper轮播图效果
2019/11/22 Javascript
JS实现按比例缩小图片宽高
2020/08/24 Javascript
值得收藏的10道python 面试题
2019/04/15 Python
如何用C代码给Python写扩展库(Cython)
2019/05/17 Python
python tkinter窗口最大化的实现
2019/07/15 Python
Win10环境python3.7安装dlib模块趟过的坑
2019/08/01 Python
python实现快递价格查询系统
2020/03/03 Python
Python实现疫情通定时自动填写功能(附代码)
2020/05/27 Python
Python基于smtplib模块发送邮件代码实例
2020/05/29 Python
Tensorflow中批量读取数据的案列分析及TFRecord文件的打包与读取
2020/06/30 Python
Python lambda表达式原理及用法解析
2020/08/18 Python
详解Python中Pyyaml模块的使用
2020/10/08 Python
用python爬虫批量下载pdf的实现
2020/12/01 Python
Veronica Beard官网:在酷、经典和别致之间找到了平衡
2018/01/11 全球购物
介绍一下Mysql的存储引擎
2015/02/12 面试题
个人自我评价分享
2013/12/20 职场文书
员工拓展培训方案
2014/02/15 职场文书
中专毕业生的自荐书
2014/07/01 职场文书
机票销售员态度不好检讨书
2014/09/27 职场文书
MySQL时间盲注的五种延时方法实现
2021/05/18 MySQL