|
|
1
1
tl;dr:要么分块阅读,要么试试看
这在很大程度上独立于python,因为您似乎试图将比实际RAM更多的数据加载到主内存中。您的操作系统将尝试通过将多余和/或不需要的数据放在硬盘/ssd上进行补偿[速度非常慢-单CPU Skylake系统可以达到30GB/s以上,快速NVMe ssd可能达到2GB/s,而您的普通HDD在0.1GB/s范围内]。Windows称之为虚拟内存,在Linux上是交换的,在Mac上我不知道。
假设您有一个包含数百万行的huuuge文本文件,那么您可以一次处理一行。一些perlish伪代码:
你尝试做的似乎更像这样:
如果你的课程
在编译器构造课程中,我参加了另一个学生使用的
无论如何,背后的基本思想
https://en.wikipedia.org/wiki/Mmap Python2文档及其示例: https://docs.python.org/2/library/mmap.html (看起来很简单) |