这导致了一个更大的问题,我有here和Popen()
。为什么Popen(“cmd.exe echo a”,shell = True)没有运行“echo”?
以下没有做什么,我认为应该:
x = subprocess.Popen("cmd.exe echo a", stdout=PIPE, shell=True)
print (x.stdout.read())
返回CMD控制台的“称号”的消息,但绝不会在执行echo a
。
与相同:
x = subprocess.Popen(["cmd.exe", "echo a"], stdout=PIPE)
print (x.stdout.read())
和
cmd = "cmd.exe echo a"
x = subprocess.Popen(shlex.split(cmd), stdout=PIPE)
print (x.stdout.read())
最终的结果是在打印标准的开放CMD终端 “Microsoft Windows版本...” 和C:\Python36>
一个CLI位置。
现在如果我想说'C:\ Users \ Me>'C:\ path \ to \ app.exe arg1 arg2'的'stdout'?如果我打开一个cmd控制台并提供.exe路径和参数,输出会生成为“stdout”,但我似乎无法像在我的OP中的链接中概述的那样使用“subprocess”进行复制。 – madeslurpy