我了解使用subprocess是调用外部命令的首选方式。
但是,如果我想并行运行多个命令,但要限制生成的进程数怎么办?
for i in os.listdir(output_lineEdit): #用for循环遍历文件夹内所有文件
if i.split(".")[1] == "ma": # 用if筛选出ma文件
mapath = i
cmd = '"{mayaBatchPath}" -batch -file "{maPath}" -script "{melFile}" "{plugins}"'.format(
mayaBatchPath=MAYABATCHPATH,
melFile=melFile, #mel文件
maPath=output_lineEdit+"\\"+mapath, #源maya文件路径
plugins="-noAutoloadPlugins",
)
# print(output_lineEdit+"\\"+mapath)
p = subprocess.Popen(cmd,
shell=True,
)
如果我直接运行的话,会同时运行18个mayabatch.exe程序,因为我文件夹内有18个文件;我想要的是可以控制运行程序的数量,例如只能同时运行2个,完成之后关闭再运行下一个这样。