假设我有一个文件RegressionSystem.exe
。 我想用-config
参数执行这个可执行文件。 命令行应该是这样的:
RegressionSystem.exe -config filename
我曾尝试过
regression_exe_path = os.path.join(get_path_for_regression,'Debug','RegressionSystem.exe') config = os.path.join(get_path_for_regression,'config.ini') subprocess.Popen(args=[regression_exe_path,'-config', config])
但它没有工作。
如果需要,也可以使用subprocess.call()
。 例如,
import subprocess FNULL = open(os.devnull, 'w') #use this if you want to suppress output to stdout from the subprocess filename = "my_file.dat" args = "RegressionSystem.exe -config " + filename subprocess.call(args, stdout=FNULL, stderr=FNULL, shell=False)
call
和Popen
之间的区别基本上是这个call
阻塞而Popen
不是, Popen
提供了更多的通用功能。 通常call
对于大多数目的来说都不错,它本质上是一个便利的Popen
形式。 你可以阅读更多的这个问题 。
os.system("/path/to/exe/RegressionSystem.exe -config "+str(config)+" filename")
应该管用。