我们可以在python启动的同一命令提示符中执行多个命令

有一个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来执行某些操作.

点赞