在我的计划,我有一个函数的runScript():
def runScript():
subprocess.call(['echo', 'hello'])
我已经看到了Python文档中类似的例子很多,所以我认为这是可行的。 然而,当我在程序中调用这个函数,它返回一个WindowsError。
WindowsError: [Error 2] The system cannot find the file specified
为什么会出现这种情况? 我怎样才能解决这个问题?
在我的计划,我有一个函数的runScript():
def runScript():
subprocess.call(['echo', 'hello'])
我已经看到了Python文档中类似的例子很多,所以我认为这是可行的。 然而,当我在程序中调用这个函数,它返回一个WindowsError。
WindowsError: [Error 2] The system cannot find the file specified
为什么会出现这种情况? 我怎样才能解决这个问题?
该echo
命令被内置在Windows外壳, cmd.exe
。 这不是一个外部程序,可以没有外壳被调用。 因此,您的subprocess.call()
需要指定shell=True
。
subprocess.call('echo hello', shell=True)
(另外,外壳会为你处理分手了命令,所以我用传递命令的简单的单串的风格。)