蟒蛇:为什么叫回声子返回WindowsError 2?(python: why does calli

2019-06-25 07:13发布

在我的计划,我有一个函数的runScript():

def runScript():
subprocess.call(['echo', 'hello'])

我已经看到了Python文档中类似的例子很多,所以我认为这是可行的。 然而,当我在程序中调用这个函数,它返回一个WindowsError。

WindowsError: [Error 2] The system cannot find the file specified

为什么会出现这种情况? 我怎样才能解决这个问题?

Answer 1:

echo命令被内置在Windows外壳, cmd.exe 。 这不是一个外部程序,可以没有外壳被调用。 因此,您的subprocess.call()需要指定shell=True

subprocess.call('echo hello', shell=True)

(另外,外壳会为你处理分手了命令,所以我用传递命令的简单的单串的风格。)



文章来源: python: why does calling echo with subprocess return WindowsError 2?