【发布时间】:2011-11-08 03:56:19
【问题描述】:
同时读取两个大文件并进行一些处理的最有效(最快)方法是什么?
我有两个文件; a.txt 和 b.txt,每个都包含大约十万行。我的目标是读入这两个文件,然后对每一行对进行一些处理
def kernel:
a_file=open('a.txt','r')
b_file=open('b.txt', 'r')
a_line = a_file.readline()
b_line = b_file.readline()
while a_line:
process(a_spl,b_spl) #process requiring both corresponding file lines
我查看了 xreadlines 和 readlines,但我想知道我是否可以做得更好。速度对于这项任务至关重要。
谢谢。
【问题讨论】:
-
Python 的速度不是很好。推荐使用 C 或 C++。试试看:stackoverflow.com/questions/5164538/…
-
@Alvin K.:配置文件优先:Python 仍然足够快,能够超过 大多数 形式的 I/O,尤其是如果所述 I/O 正在访问磁盘或网络。
-
@Thanatos:上面的链接中也提到了分析,它声称 I/O 不是主要瓶颈。感谢您强调它。