bufsize in subprocess
clp2 at rebertia.com
Sun Jan 22 02:27:54 EST 2012
On Sat, Jan 21, 2012 at 9:45 PM, <yves at zioup.com> wrote:
> Is this the expected behavior?
Yes. `.read()` [with no argument] on a file-like object reads until
EOF. See http://docs.python.org/library/stdtypes.html#file.read
> When I run this script, it reads only once, but I expected once per line
> with bufsize=1.
You want proc.stdout.readline().
> What I am trying to do is display the output of a slow process in a tkinter
> window as it runs. Right now, the process runs to completion, then display
> the result.
> import subprocess
> com = ['/bin/ls', '-l', '/usr/bin']
> with subprocess.Popen(com, bufsize=1, stdout=subprocess.PIPE,
> stderr=subprocess.STDOUT) as proc:
> print('out: ' + str(proc.stdout.read(), 'utf8'))
More information about the Python-list