【发布时间】:2018-08-07 16:11:54
【问题描述】:
我正在使用 subprocess.Popen 来处理 shell 命令,因为与 subprocess.run 相比,它在管道方面似乎具有更大的灵活性
我从一些简单的例子开始,但我得到了FileNotFoundError:
有人告诉我,如果我将参数设置为正确的列表,shell = True 就没有必要了。但是,它似乎不起作用。
这是我的尝试:
import subprocess
p1 =subprocess.Popen(['dir'], stdout =subprocess.PIPE)
output = p1.communicate[0]
p = subprocess.Popen([ "dir", "c:\\Users"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
outputs = p.communicate()
两者都指向FileNotFoundError
【问题讨论】:
-
基本上(但不完全是)this 的欺骗。
-
dir不是可执行文件,它是一个 shell 命令
标签: python python-3.x subprocess