Reputation: 12498
Duplicate of this question. Vote to close.
Consider this at the windows commandline.
scriptA.py | scriptB.py
In scriptA.py:
sys.stdout.write( "hello" )
In scriptB.py:
print sys.stdin.read()
This generates the following error:
c:\> scriptA.py | scriptB.py
close failed: [Errno 22] Invalid argument
Traceback (most recent call last):
File "c:\scriptB.py", line 20, in <module>
print sys.stdin.read()
IOError: [Errno 9] Bad file descriptor
The "close failed" message seems to come from execution of scriptA.py.
It doesn't matter if I use sys.stdin.read(), sys.stdin.read(1), sys.stdin.readlines() etc etc.
What's wrong?
Duplicate of this question. Vote to close.
Upvotes: 2
Views: 4490
Reputation: 3089
It seems that stdin/stdout redirect does not work when starting from a file association. This is not specific to python, but a problem caused by win32 cmd.exe.
See: http://mail.python.org/pipermail/python-bugs-list/2004-August/024920.html
Upvotes: 7