Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #35334

Re: Second try: non-blocking subprocess pipe and Tkinter in 2.7

From Terry Reedy <tjreedy@udel.edu>
Subject Re: Second try: non-blocking subprocess pipe and Tkinter in 2.7
Date 2012-12-21 22:00 -0500
References <kb20j5$76m$1@dont-email.me>
Newsgroups comp.lang.python
Message-ID <mailman.1181.1356145244.29569.python-list@python.org> (permalink)

Show all headers | View raw


On 12/21/2012 10:52 AM, Kevin Walzer wrote:
> Yesterday I posted a question about keeping a Tkinter GUI during a
> long-running process, i.e. reading data from a pipe via the subprocess
> module. I think that question did not quite get at the heart of the
> issue because it assumed that Python, like Tcl which underlies Tkinter,
> supports non-blocking, asynchronous reading out of the box. Apparently
> it does not.

There is currently the asyncore module, but I don't know that anyone 
really likes it.

> So, my question is hereby revised as such: how can I implement a
> non-blocking read of a subprocess pipe that can write data to the
> Tkinter text widget in an manner that does not cause the GUI to lock up?

Interesting question. Guido is currently, with help from many others 
with async experience, working on a replacement for asyncore.
PEP 3156 - Asynchronous IO Support Rebooted
http://python.org/dev/peps/pep-3156/

You can read the pep if you want, but it includes a generalized event 
loop interface. The prototype (partial) implementation includes (or 
will) a default event loop. However, the intention is that it can be 
replaced by (or maybe work with) adapters for existing event loops, 
including that of gui frameworks. Being able write a tk loop adapter and 
easily add io events and handlers to work along side with tk key and 
mouse events and write to a widjet should be an interesting test of the 
new framework.

-- 
Terry Jan Reedy

Back to comp.lang.python | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

Second try: non-blocking subprocess pipe and Tkinter in 2.7 Kevin Walzer <kw@codebykevin.com> - 2012-12-21 10:52 -0500
  Re: Second try: non-blocking subprocess pipe and Tkinter in 2.7 Peter Otten <__peter__@web.de> - 2012-12-21 17:33 +0100
  Re: Second try: non-blocking subprocess pipe and Tkinter in 2.7 Terry Reedy <tjreedy@udel.edu> - 2012-12-21 22:00 -0500

csiph-web