小编Eva*_*exe的帖子

Python 每行读取巨大的文件行并将其发送到多处理或线程

我已经尝试让我的代码工作很多天了,我很绝望。我已经在互联网上搜索过,但仍然找不到。

我有一个以“latin-1”编码的文本文件,大小为 9GB -> 737 022 387 行,每行包含一个字符串。

我想读取每一行并将它们发送到等待响应的http PUT请求中,如果响应是200或400,则返回TRUE或FALSE PUT请求大约需要1到3秒,因此要加快处理时间我想使用线程或多处理。

首先,我模拟 PUT 请求并休眠 3 秒。即使我无法让它发挥作用

这段代码将我的字符串分割成字符,我不知道为什么......

from multiprocessing import Pool
from time import sleep


def process_line(line):
   sleep(3)
   print(line)
   return True

if __name__ == "__main__":
    pool = Pool(2)
    peon =  open(r'D:\txtFile',encoding="latin-1")
    for line in peon:
        res = pool.map(process_line,line )
        print(res)
Run Code Online (Sandbox Code Playgroud)

这给出了错误: TypeError: process_line() 需要 1 个位置参数,但给出了 17 个

import multiprocessing
from multiprocessing import Pool
from time import sleep


def process_line(line):
   sleep(3)
   print(line)
   return True

if __name__ == "__main__":
    pool = …
Run Code Online (Sandbox Code Playgroud)

python multiprocessing readfile

6
推荐指数
1
解决办法
1413
查看次数

标签 统计

multiprocessing ×1

python ×1

readfile ×1