Code:
import subprocess
process = subprocess.Popen('echo 5')
Error:
Traceback (most recent call last):
File "test.py", line 3, in <module>
process = subprocess.Popen('echo 5')
File "/usr/lib64/python2.6/subprocess.py", line 642, in __init__
errread, errwrite)
File "/usr/lib64/python2.6/subprocess.py", line 1238, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
Can someone please advise what is the issue with the above code?
rewrite the code as follows
command should be a list
You have to specify executable and arguments either as a list:
or as a string and set
shell=True
:The first is recommended, as it handles needed escaping for you. The second simply passes the string to the shell. According to subprocess docs: