[Tutor] Interprocess communication
Alan Gauld
alan.gauld at btinternet.com
Tue Dec 6 20:04:01 CET 2011
On 06/12/11 17:17, George Nyoro wrote:
> Hey guys,
> Really want to thank all of you for helping and bearing with
> some of us and the questions we ask around here. I was making a gtk
> app sometime ago to copy files from a cd or dvd to my hard disk since
> the normal ubuntu copy thing would stop when it encountered some
> error, so I needed one that read through errors or none.
For me the normal copy thing is the cp command. It reads
through errors quite happily... I assume you mean one of
the graphical file managers abailable in Ubuntu?
> I did in two modules: one having gtk code and the other having the
> copy code, then id import the copy code into gtk. The thing is that
> when the gtk called the copy module to do so, the process would take
> long and so the application would become none responsive.
How are you doing the copy?
If its a long loop or using os.walk() then you need to put it in a
separate thread. Thats probably the best solution. Alternartively invoke
the cp command line and run it in the background(with &), but then you
won;t get suvch good error reports etc...
Otherwise break it into chunks so you only copy a few files at a time
and then return to the GUI. But that will slow the copy process even more!
> Can anyone show me how to run the gtk and copy code as separate
> processes since this seems to be the only way that the application
> graphics wont hang? Thanks in advance.
You don't need separate processes just separate threads.
Check the Python documentation for a threading tutorial.
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
More information about the Tutor
mailing list