搜索

首页  >  问答  >  正文

python3.x - Python用for line in read(file,'rb'):处理超大文件时,想用多线程,该如何分配合适的文件偏移?

文件大概有80个G大小,想用多线程,我知道可以用f.seek()去设置偏移,以达到从不同的位置开始读入的效果
可是应该如何给每个线程分配一个合适偏移?

with open(r'file.txt', 'rb') as f:
    for line in f:
        dosomething(line)
PHPzPHPz2900 天前446

全部回复(2)我来回复

  • PHP中文网

    PHP中文网2017-04-18 10:04:32

    可以现分割大文件,然后多线程处理被分割的各个小文件:http://www.jb51.net/article/5...

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:04:32

    用 mmap 模块,像访问内存一样读写文件。

    回复
    0
  • 取消回复