问题描述
为什么以下选项不起作用?
import subprocess
process = subprocess.Popen('cmd.exe', shell=False, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=None)
我得到的输出如下:
The process tried to write to a nonexistent pipe.
The process tried to write to a nonexistent pipe.
The process tried to write to a nonexistent pipe.
The process tried to write to a nonexistent pipe.
The process tried to write to a nonexistent pipe.
之后,该进程终止,不会出现错误。我正在运行Windows 7。
推荐答案
尝试:
import subprocess
subprocess.run(["echo", "Hello, world!"], shell=True)
这使用默认的stdout和stderr,而不是创建管道。