【发布时间】:2021-04-26 13:06:25
【问题描述】:
谢谢大家。我正在编写一个脚本来在命令行中执行多个命令。这是我整个剧本的一部分。
我检查了很多答案,但没有一个能解决我的问题。其中一些太旧而无法使用。
我的命令是这样的
cd C:/Users/Bruce/Desktop/test
set I_MPI_ROOT=C:\Program Files\firemodels\FDS6\bin\mpi
set PATH=%I_MPI_ROOT%;%PATH%
fds_local -o 1 -p 1 test.fds
python test.py
我尝试使用 subprocess.run 或 os.system 等,但它们不起作用。我不知道发生了什么。这是我用过的一个例子。
file_path = "C:/Users/Bruce/Desktop/test"
cmd1 = 'cd ' + file_path
cmd2 = "set I_MPI_ROOT=C:/Program Files/firemodels/FDS6/bin/mpi"
cmd3 = "set PATH=%I_MPI_ROOT%;%PATH%"
nMPI = '-p {}'.format(1)
nOpenMP = '-o {}'.format(1)
cmd4 = "fds_local {} {} ".format(nMPI, nOpenMP) + file_name
cmd = '{} && {} && {} && {}'.format(cmd1, cmd2, cmd3, cmd4)
subprocess.Popen(cmd, shell=True)
我对子流程不太熟悉。但是我已经工作了一个星期来解决这个问题。这让我发疯。有什么建议吗?
【问题讨论】:
标签: python-3.x shell command-line subprocess