Python 3.6.7、Windows 7/10
我必须使用 subprocess.run 依次运行两个命令。第一个命令打开一个新的命令提示符。下一个命令需要在新创建的命令提示符中运行。使用下面的代码,第二个命令始终在初始命令提示符中运行。这可以吗?
import subprocess
subprocess.run('first command', shell=True) #first command opens a new command prompt
subprocess.run('second command', shell=True) #second command needs to be run in the newly created command prompt
最佳答案
这取决于您想要运行哪些命令,但我认为一种解决方案是创建一个批处理脚本,依次运行这两个命令。
或者您可以尝试在第一个子进程的标准输入上编写第二个命令,如下所示:
pipe = subprocess.Popen('first command', shell=True, stdin=subprocess.PIPE)
pipe.communicate(input='second command')
但我不确定这是否有效,因为该过程将在第一个命令终止后立即完成?
编辑:添加缩进
关于Python 子进程 - 在创建的新命令提示符中运行第二个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54887990/