导语:
本文主要介绍了关于按行读取内存不够?如何用python解决?的相关知识,包括python调用内存文件,以及excel内存不足这些编程知识,希望对大家有参考作用。
当我们需要读取一个大文件,而计算机的内存又比较小的时候,我们应该怎么办呢?如果文件很小怎么办?今天给大家带来几个用Python逐行读取文件的巧妙解决方案。
第一种:readline()
<p><span>file = open("sample.txt")
while 1:
line = file.readline()
if not line:
break
pass # do somethingfile.close()<br/></span></p>
逐行从文件中读取数据,速度相对较慢,但节省内存;
测试读10M的sample.txt文件,每秒大约读32000行;
第二种:fileinput
<p><span>import fileinput
for line in fileinput.input("sample.txt"):
pass<br/></span></p>
写入方式有点简单,但经过测试发现每秒只能读取13000行数据,效率比之前的方式慢了一倍以上;
第三种:readlines()
<p><span>file = open("sample.txt")
while 1:
lines = file.readlines(100000)
if not lines:
break
for line in lines:
pass # do something
file.close()<br/></span></p>
用同样的数据测试,每秒可以读取96900行数据。效率是第一种方法的3倍,是第二种方法的7倍。
第四种:文件迭代器
每次只读取和显示一行,读取大文件时如下:
<p><span>file = open("sample.txt")
for line in file:
pass # do something
file.close()<br/></span></p>
以上是Python逐行读取目录中文件名的一些方法。有需要的可以参考。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何在python中找到几个数字的最大值08/21
- ♥ Python输出简洁美观的文本化表格01/26
- ♥ python如何写入csv08/17
- ♥ 如何在python中选择32位或64位09/19
- ♥ python中的len是什么意思08/15
- ♥ python shutil 操作文件有哪些方法01/02
内容反馈