繁体   English   中英

有没有一种真正有效(快速)的方式来读取 python 中的大文本文件?

[英]Is there a really efficient (FAST) way to read large text files in python?

我希望尽快从 python 中的大型文本文件中打开和获取数据(它几乎有 62603143 行 - 大小为 550MB )。 因为我不想给我的电脑带来压力,所以我按照以下方式进行,

import time
start = time.time()
for line in open(filePath):
    #considering data as last element in file
    if data in line:
        do_something(data)
end = time.time()
print "processing time = %s" % (count, end-start)

但是,正如我通过上述方法所做的那样,读取完整文件需要将近18 秒(我的计算机具有Intel i3 处理器和 4 GB RAM )。 同样,如果文件大小更大,则需要更多时间并且从用户的角度考虑它非常大。 我在论坛上阅读了很多意见,提到了多个Stack Overflow问题,但没有获得从大文件中读取和获取数据的快速有效的方法。 在 Python 中真的有什么方法可以在几秒钟内读取大文本文件吗?

不,没有比 Python 更快的逐行处理文件的方法。

您的瓶颈在于您的硬件,而不是您读取文件的方式。 Python 已经在尽其所能(在拆分为换行符之前使用缓冲区以更大的块读取文件)。

我建议将您的磁盘升级到 SSD。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM