python - Python逐行读取文件的效率

标签 python performance file

现在我正在编写一些 Python 代码来处理大量的 Twitter 文件。这些文件太大,内存都装不下。要和他们一起工作,我基本上有两种选择。

  1. 我可以将文件拆分成适合内存的较小文件。

  2. 我可以逐行处理大文件,因此我永远不需要一次将整个文件放入内存。我更喜欢后者以便于实现。

但是,我想知道将整个文件读入内存然后从那里进行操作是否更快。不断地从磁盘逐行读取文件似乎很慢。但话又说回来,我并不完全理解这些过程在 Python 中是如何工作的。有谁知道逐行读取文件是否会导致我的代码比我将整个文件读入内存并从那里操作它更慢?

最佳答案

要真正快速地读取文件,请查看 mmap模块。这将使整个文件显示为一大块虚拟内存,即使它比您的可用 RAM 大得多。如果您的文件大于 3 或 4 GB,那么您需要使用 64 位操作系统(和 64 位 Python 版本)。

我已经为超过 30 GB 的文件完成了此操作,并取得了不错的效果。

关于python - Python逐行读取文件的效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10460453/

相关文章:

python - 进入集体 SVN 并使用 jarn.mkrelease

python - 如何检测多个附加图像并将其剪掉?

angular - 优化大型 Angular 表格网格

c# - C# 编译器会优化循环内对同一方法的调用吗?

使用 C 中的文件描述符计算文件的行数

windows - 访问存储在 Windows Azure BLOB 上的文本文件

python - 递归地反转字符串?

regex - 在 perl 中禁用反向引用

java - 想要在单个 hibernate 事务中从文件夹中删除数据库值和文档

python - (MNIST - GAN)第一次迭代后鉴别器和生成器误差下降到接近于零