SF Bug #602245: os.popen() negative error code IOError
Delaney, Timothy
tdelaney at avaya.com
Fri Aug 30 02:35:55 EDT 2002
I just submitted a bug at SF entitled 'os.popen() negative error code
IOError'. However, not knowing SF too well, I've messed up the formatting of
the test code, so here it is.
When a negative return code is received by the os.popen() family, an IOError
is raised when the last pipe from the
process is closed.
The following code demonstrates the problem:
import sys
import os
import traceback
import sys
import os
import traceback
if __name__ == '__main__':
if len(sys.argv) == 1:
try:
r = os.popen('%s %s %s' % (sys.executable, sys.argv[0], -1,))
r.close()
except IOError:
traceback.print_exc()
try:
w, r = os.popen2('%s %s %s' % (sys.executable, sys.argv[0],
-1,))
w.close()
r.close()
except IOError:
traceback.print_exc()
try:
w, r, e = os.popen3('%s %s %s' % (sys.executable, sys.argv[0],
-1,))
w.close()
r.close()
e.close()
except IOError:
traceback.print_exc()
else:
sys.exit(int(sys.argv[1]))
---------- Run ----------
Traceback (most recent call last):
File "Q:\Viper\src\webvis\tests\test.py", line 11, in ?
r.close()
IOError: (0, 'Error')
Traceback (most recent call last):
File "Q:\Viper\src\webvis\tests\test.py", line 18, in ?
r.close()
IOError: (0, 'Error')
Traceback (most recent call last):
File "Q:\Viper\src\webvis\tests\test.py", line 26, in ?
e.close()
IOError: (0, 'Error')
Tim Delaney
More information about the Python-list
mailing list