搜尋

首頁  >  問答  >  主體

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)
PHPzPHPz2918 天前448

全部回覆(2)我來回復

  • PHP中文网

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

    可以現分割大文件,然後多執行緒處理被分割的各個小文件:http://www.jb51.net/article/5...

    回覆
    0
  • 巴扎黑

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

    用 mmap 模組,像存取記憶體一樣讀寫檔案。

    回覆
    0
  • 取消回覆