我在构建服务器上有以下命令作为构建过程的一部分:
os.system ('signtool sign /a /t http://timestamp.verisign.com/scripts/timstamp.dll "%s\\*.exe"' % (dir) )
此命令对指定目录中的每个可执行文件进行签名。有没有办法使用Python为每个可执行文件并行运行此命令?是否有类似OpenMP的Python?
答案 0 :(得分:1)
或许multiprocessing
可能对此有所帮助?
具体而言,multiprocessing.Pool.map()
可能与您的需求相关。
答案 1 :(得分:1)
你可以使用线程。 This tutorial显示了如何执行类似于您要求使用线程的内容。
答案 2 :(得分:1)
以上答案是从Python方面接近事物的完全合理的方法,例如
from multiprocessing import Pool
import os
def processFile(x):
return os.system('ls '+x)
if __name__ == '__main__':
pool = Pool(processes=2)
files=['foo','foo.py','foo.cpp','foo.txt','foo.bar']
result = pool.map(processFile, files)
print 'Results are', result
但是如果你还在使用shell,你可能要考虑在shell端使用Gnu Parallel,它像xargs一样运行,但并行执行各个任务,并提供控制可以运行的作业数量的选项同时等等。