在我的程序中,我有一个函数runScript():
def runScript(): subprocess.call(['echo', 'hello'])
我在Python文档中看到了很多类似的例子,所以我认为这是可行的。 但是,当我在我的程序中调用这个函数时,它返回一个WindowsError。
WindowsError: [Error 2] The system cannot find the file specified
为什么会这样呢? 我该如何解决?
echo
命令内置于Windows外壳程序cmd.exe
。 这不是一个外部程序,可以在没有shell的情况下调用。 因此,你的subprocess.call()
需要指定shell=True
。
subprocess.call('echo hello', shell=True)
(另外,shell会为你分配命令,所以我使用了传递命令的简单的单一字符串风格。)