我希望尽快打开并从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中有没有办法在几秒钟内读取大文本文件?
答案 0 :(得分:0)
不,没有更快的方法来逐行处理文件,而不是Python。
您的瓶颈是您的硬件,而不是您阅读文件的方式。 Python已经尽其所能(在分割成换行符之前使用缓冲区以更大的块读取文件)。
我建议将磁盘升级到SSD。