os.fdopen() issue in Python 3.1?

Albert Hopkins marduk at python.net
Tue Mar 2 09:24:58 EST 2010


I have a snippet of code that looks like this:

        pid, fd = os.forkpty()
        if pid == 0:
            subprocess.call(args)
        else:
            input = os.fdopen(fd).read()
        ...


This seems to work find for CPython 2.5 and 2.6 on my Linux system.
However, with CPython 3.1 I get:

            input = os.fdopen(fd).read()
        IOError: [Errno 5] Input/output error

Is there something wrong in Python 3.1?  Is this the correct way to do
this (run a process in a pseudo-tty and read it's output) or is there
another way I should/could be doing this?

-a





More information about the Python-list mailing list