Python:使用linecache与普通打开方法读取大文件的比较

2 投票
1 回答
2945 浏览
提问于 2025-04-15 22:27

我现在遇到一个情况,有多个线程同时读取一个很大的文件,多个文件指针指向同一个文件。这个文件至少有一百万行。每一行的长度从500个字符到1500个字符不等。文件不会进行“写入”操作。每个线程会从不同的行开始读取同一个文件。请问哪种方法比较高效呢?是使用Python的linecache,还是普通的readline(),或者还有其他更有效的方法吗?

1 个回答

2

看看这个 mmap 模块: http://docs.python.org/library/mmap.html

这个模块可以让你把文件当成一个数组来使用,而操作系统会负责实际的读取和缓存工作。

撰写回答