使用 GNU Parallel 将 shell 脚本重写为 Python
Rewrite shell script with GNU Parallel to Python
我有一个 shell 脚本,它并行使用 GNU Parallel to 运行 函数。现在,我正在将脚本重写为 Python,但我不知道如何正确执行此操作。
在脚本中,我有:
parallel --jobs 5 --linebuffer run {1} ::: "${files[@]}"
如何将其转换为 Python 代码?在shell中,files
是一个文件数组,run
方法调用处理文件的外部程序。
在Python中,我有方法def run(file)
,它有几个Python命令来准备数据,最后,它用os.command
调用外部程序。
def run(file):
do something with input file
os.command(...)
我会使用多处理:
from multiprocessing import Pool
def run(file):
do something with input file
os.command(...)
if __name__ == '__main__':
with Pool(5) as p:
p.map(run, sys.argv[1:])
调用它:
python test.py "${files[@]}"
我有一个 shell 脚本,它并行使用 GNU Parallel to 运行 函数。现在,我正在将脚本重写为 Python,但我不知道如何正确执行此操作。
在脚本中,我有:
parallel --jobs 5 --linebuffer run {1} ::: "${files[@]}"
如何将其转换为 Python 代码?在shell中,files
是一个文件数组,run
方法调用处理文件的外部程序。
在Python中,我有方法def run(file)
,它有几个Python命令来准备数据,最后,它用os.command
调用外部程序。
def run(file):
do something with input file
os.command(...)
我会使用多处理:
from multiprocessing import Pool
def run(file):
do something with input file
os.command(...)
if __name__ == '__main__':
with Pool(5) as p:
p.map(run, sys.argv[1:])
调用它:
python test.py "${files[@]}"