有一个excel文件,其中包含多个场景的路径.我在for循环中使用os.system(命令).在每次迭代中,从excel文件中读取路径并执行该路径的方案.
我的问题是,每次使用os.system(),CMD打开,执行一个命令并关闭.在下一次迭代中,再次读取第二条路径并执行它并关闭CMD.这里CMD一次又一次弹出.在此期间系统正忙,无法完成其他任务.我想在一个CMD中执行所有命令(场景),因为我想最小化它并将系统用于其他任务.
在每次迭代中,有两个主要步骤:
> os.chdir(PATH)
> os.system(exe的路径“”PATH中出现的配置文件的名称“)
可以通过使用子进程来完成.如果是,请举例说明如何实施?
最佳答案 如果您想使用
subprocess模块,请尝试以下方法:
from subprocess import call
import os.path
def call_scenario(path, config_file):
retcode = call(["path/of/exe", os.path.join(path,config_file)])
if retcode != 0:
print "Something bad happened : %s"%retcode
使用subprocess.call时,shell = False参数将避免启动cmd来执行某些操作.