使用GNU parallel,我试图运行一个子采样脚本,该脚本输入两个文件并输出一个特定的子采样文件。我正在使用此命令:

parallel -j+0 --eta python sub_sample_.2.py ::: file1 file2 ::: file3 file4 ::: file5 file6


但是命令行上没有ETA,即:

Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
ETA: 0s Left 8 AVG:0.00s local:8/0/1005/0.0


此外,仅处理前四个文件,而不处理后两个文件:file5file6

最佳答案

parallel -j+0 --eta python sub_sample_.2.py ::: file1 file2 ::: file3 file4 ::: file5 file6


2 * 2 * 2 =总共8个工作。

Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
ETA: 0s Left 8 AVG:0.00s local:8/0/1005/0.0


ETA是根据已完成的作业的运行时间计算的。这里尚未完成任何工作,因此没有ETA。您还可以看到本地系统上正在运行所有8个作业,因此您可能拥有8个或更多核心。


  此外,仅处理前四个文件,而不处理后两个文件:file5file6


这样写,我怀疑您可能不知道:::是多少倍。运行--dryrun,看看是否可以运行该程序。

我的猜测是,您真正要运行的是(需要版本20160422或更高版本):

parallel --eta python sub_sample_.2.py ::: file1 file3 file5 :::+ file2 file4 file6


要么:

parallel --xapply --eta python sub_sample_.2.py ::: file1 file3 file5 ::: file2 file4 file6

关于python - GNU并行-多个参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37861665/

10-12 21:23