使用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
此外,仅处理前四个文件,而不处理后两个文件:
file5
和file6
。 最佳答案
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个或更多核心。
此外,仅处理前四个文件,而不处理后两个文件:
file5
和file6
。这样写,我怀疑您可能不知道:::是多少倍。运行--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/