5

在我的程序中,我有一个函数 runScript():

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

我在 Python 文档中看到了许多类似的示例,所以我认为这会起作用。但是,当我在程序中调用此函数时,它会返回一个 WindowsError。

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

为什么会这样?我该如何解决?

4

1 回答 1

12

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

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

(此外,shell 将为您处理拆分命令,因此我使用了更简单的单字符串样式来传递命令。)

于 2012-06-07T14:02:54.203 回答