In my program, I have a function runScript():
def runScript():
subprocess.call(['echo', 'hello'])
I have seen many similar examples in the Python documentation, so I assumed this would work. However, when I call this function in my program, it returns a WindowsError.
WindowsError: [Error 2] The system cannot find the file specified
Why does this happen? How can I fix it?
The echo command is built in to the Windows shell, cmd.exe. It is not an external program that can be called without the shell. Therefore, your subprocess.call() needs to specify shell=True.
subprocess.call('echo hello', shell=True)
(Also, the shell will handle splitting up the command for you, so I've used the simpler single-string style of passing the command.)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With