用Python读取一个非常大的文件

2 投票
4 回答
3820 浏览
提问于 2025-04-16 13:26

处理一个大约500MB的文本文件,每一行都要处理,最好的方法是什么呢?

我想到的方案是:

def files(mon_fichier):
    while True:
        data = mon_fichier.read(1024)
        if not data:
            break
        yield data

fichier = open('tonfichier.txt', 'r')
for bloc in files(fichier):
    print bloc

提前谢谢你们!

4 个回答

1

这个答案要看你想怎么处理这些数据…我建议你可以按块读取数据,然后在读取完每一块后立即处理它,像这样:

fs = open(source, 'r')
while 1:
    txt = fs.readline(1000)
    < your treatement>
    if txt =="":
    break
fs.close()
7

只要你使用标准的文件操作就可以了,记得不要用readlines,而是用readline

11

这段代码是用来做一些特定操作的。它可能涉及到一些编程概念,比如变量、函数或者循环等。具体来说,代码块中的内容会按照一定的逻辑执行,可能是处理数据、计算结果或者与用户进行交互。

如果你对代码的具体功能有疑问,可以尝试逐行分析,看看每一行代码在做什么,或者查找相关的编程资料来帮助理解。

总之,这段代码的目的是为了实现某种功能,理解它的逻辑和结构是学习编程的重要一步。

with open('myfile.txt') as inf:
    for line in inf:
        # do something
        pass

撰写回答