os.system question
Fredrik Lundh
fredrik at pythonware.com
Thu Aug 14 02:41:48 EDT 2008
Kevin Walzer wrote:
> I'm also skeptical of the value of subprocess, at least as a complete
> replacement for os.popen (the original version): it currently provides
> no way to set a 'non-blocking' mode. I make heavy use of this kind of
> call in my code:
>
> self.file = os.popen('do stuff here'), 'r', os.O_NONBLOCK)
Eh, what? The third argument to os.popen is the buffer size to use for
the file object, while O_NONBLOCK is an integer flag that you can use
with os.open (no "p" in there), fcntl, etc. to work with fifos and
special devices.
(O_NONBLOCK happens to be 2048 on at least some Unix machines, so
chances are that your snippet simply opens the stream with a 2k buffer
instead of the 4k default.)
To control the buffer size for subprocess, use the bufsize argument to
Popen.
</F>
More information about the Python-list
mailing list