Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #3510

Re: Popen to get stdout and stderr for ffmpeg - No such file or directory ?

References <8bb1fd96-91bf-42f6-a7ea-ab060cd22f66@a19g2000prj.googlegroups.com>
Date 2011-04-18 16:36 -0700
Subject Re: Popen to get stdout and stderr for ffmpeg - No such file or directory ?
From Chris Rebert <clp2@rebertia.com>
Newsgroups comp.lang.python
Message-ID <mailman.530.1303169769.9059.python-list@python.org> (permalink)

Show all headers | View raw


On Mon, Apr 18, 2011 at 4:07 PM, goldtech <goldtech@worldpost.com> wrote:
> 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"
<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.

Read The Fine Manual:
http://docs.python.org/library/subprocess.html#subprocess.Popen :
"On Unix, with shell=False (default): [...] If a string is specified
for args, it will be used as the name or path of the program to
execute; ***this will only work if the program is being given no
arguments.***" (emphasis added)

The system is interpreting the entire command string as the path to an
executable; obviously there's no directory named "ffmpeg -i ", so the
path is invalid, hence the error.

Try instead:
cmd3 = ['ffmpeg', '-i', '/home/giga/Desktop/Guitar1.flv']

Cheers,
Chris
--
http://blog.rebertia.com

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Popen to get stdout and stderr for ffmpeg - No such file or directory ? goldtech <goldtech@worldpost.com> - 2011-04-18 16:07 -0700
  Re: Popen to get stdout and stderr for ffmpeg - No such file or directory ? "Rhodri James" <rhodri@wildebst.demon.co.uk> - 2011-04-19 00:35 +0100
  Re: Popen to get stdout and stderr for ffmpeg - No such file or directory ? Chris Rebert <clp2@rebertia.com> - 2011-04-18 16:36 -0700
    Re: Popen to get stdout and stderr for ffmpeg - No such file or directory ? goldtech <goldtech@worldpost.com> - 2011-04-18 20:05 -0700

csiph-web