By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
454,509 Members | 1,679 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 454,509 IT Pros & Developers. It's quick & easy.

sys.stdout / sys.stderr, subprocess, redirection

P: n/a
Hello,

I have a piece of code that gets run in a script that has its stdout
closed:

import sys
sys.stdout = sys.stderr

c = subprocess.Popen (...,
stdin = subprocess.PIPE,
stdout = subprocess.PIPE,
stderr = subprocess.STDOUT)

and this is what I get:

Sending SVNR/permissions
Transmitting file data .svn: Commit failed (details follow):
svn: 'pre-commit' hook failed with error output:
Traceback (most recent call last):
(...)
File ".../__init__.py", line 40, in run
stderr = subprocess.STDOUT)
File "/usr/local/lib/python2.4/subprocess.py", line 554, in __init__
errread, errwrite)
File "/usr/local/lib/python2.4/subprocess.py", line 986, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory

This is the child_traceback:

File "/usr/local/lib/python2.4/subprocess.py", line 955, in _execute_child
File "/usr/local/lib/python2.4/os.py", line 341, in execvp
File "/usr/local/lib/python2.4/os.py", line 379, in _execvpe
func(fullname, *argrest)
OSError: [Errno 2] No such file or directory

Is this a problem in subprocess (I'm using the FreeBSD port of Python-2.4
and subprocess that comes with that release) or is this expected? If my
expectations are broken (likely), what should the standard descriptor
massaging look like?

Subversion code that runs the script can be seen at
http://svn.collab.net/viewcvs/svn/tr..._repos/hooks.c
(run_hook_cmd()).

--
How many Vietnam vets does it take to screw in a light bulb?
You don't know, man. You don't KNOW.
Cause you weren't THERE. http://bash.org/?255991
Jul 18 '05 #1
Share this question for a faster answer!
Share on Google+

This discussion thread is closed

Replies have been disabled for this discussion.