Hi, Trying to learn how to run a linux command and get the stdout and stderr. I'm trying the following:
>>> cmd3 = r'ffmpeg -i /home/giga/Desktop/Guitar1.flv' >>> p = Popen(cmd3, stdout=PIPE, stderr=PIPE) Traceback (most recent call last): File "<pyshell#73>", line 1, in <module> p = Popen(cmd3, stdout=PIPE, stderr=PIPE) File "/usr/lib/python2.6/subprocess.py", line 623, in __init__ errread, errwrite) File "/usr/lib/python2.6/subprocess.py", line 1141, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory But: >>> if os.path.exists(r'/home/giga/Desktop/Guitar1.flv'): print "exist" exist >>> And just running ffmpeg alone seems as expected: >>> cmd2=r'ffmpeg' >>> p = Popen(cmd2, stdout=PIPE, stderr=PIPE) >>> stdout, stderr = p.communicate() >>> stdout 'Hyper fast Audio and Video encoder\nusage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...\n\n' >>> stderr "FFmpeg version git-N-29152-g0ba8485, Copyright (c) 2000-2011 the FFmpeg developers\n built on Apr 16 2011 16:40:56 with gcc 4.4.5\n configuration: --enable-gpl ...snip... Also if I run the exact command (cmd3) in the terminal it works OK. Why is it not finding the file? Thanks, help appreciated. -- http://mail.python.org/mailman/listinfo/python-list