python - Python 中的并行处理问题

标签 python shell parallel-processing gnu-parallel

我有一个 python 脚本 A.py,它使用带有一些 IP 列表 的目标文件作为参数,并输出一个 CSV 文件从某些来源找到有关 IP 的信息。(运行方法:python A.py Input.txt -c Output.csv)

完成这项工作需要很长时间。后来,我拆分输入文件 ( split -l 1000 Input.txt) -> 创建目录( 10 目录) -> 执行脚本,将输入并行拆分为 10 个目录在屏幕模式下

如何高效地完成这类工作?有什么建议吗?

最佳答案

试试这个:

parallel --round --pipepart -a Input.txt --cat python A.py {} -c {#}.csv

如果 A.py 可以从 fifo 中读取,那么这会更有效:

parallel --round --pipepart -a Input.txt --fifo python A.py {} -c {#}.csv

如果您的磁盘有很长的寻道时间,那么使用 --pipe 代替 --pipepart 可能会更快。

关于python - Python 中的并行处理问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34013781/

相关文章:

python - pandas fill() 与 groupby

Python:将不明确的时间转换为时间对象的有效方法?

python - SqlAlchemy 当前数据库用户

shell - 在 bash 中做什么! (感叹号)在命令之前是什么意思?

python - Django - 强制执行 ManyToManyField 唯一项

ios - 解析 ANSI 颜色代码并为 NSAttributedString 设置相应的颜色属性

linux - 将信息从我的程序传递到调用脚本(退出时)的正确方法是什么

parallel-processing - slurm Job Array 和 Job Step 性能的差异

python - multiprocessing.Queue 的管道损坏错误

java - 使用多线程在数组中查找质数