知行编程网知行编程网  2022-11-28 18:00 知行编程网 隐藏边栏  18 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于按行读取内存不够?如何用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逐行读取目录中文件名的一些方法。有需要的可以参考。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享