On Thursday, June 21, 2012 11:46:30 AM inq1ltd wrote:
> On Thursday, June 21, 2012 04:19:41 PM Rotwang wrote:
> > Hi all, I'm using Python 2.7.2 on Windows 7 and a module I've written is
> > acting strangely. I can reproduce the behaviour in question with the
> > following:
> >
> > --- begin bugtest.py ---
> >
> > import threading, Tkinter, os, pickle
>
correct my last response to this,
try this;
from Tkinter import *
import threading, Tkinter, os, pickle
it works for me.
####
my module included
if __name__ == '__main__' :
print '##open bugtest , 29\n'
myclass()
so I could run
python bugtest.py
in a shell
jd
>
> > class savethread(threading.Thread):
> > def __init__(self, value):
> > threading.Thread.__init__(self)
> > self.value = value
> >
> > def run(self):
> > print 'Saving:',
> >
> > with open(os.path.join(os.getcwd(), 'bugfile'), 'wb') as f:
> > pickle.dump(self.value, f)
> >
> > print 'saved'
> >
> > class myclass(object):
> > def gui(self):
> > root = Tkinter.Tk()
> > root.grid()
> >
> > def save(event):
> > savethread(self).start()
> >
> > root.bind('s', save)
> > root.wait_window()
> >
> > m = myclass()
> > m.gui()
> >
> > --- end bugtest.py ---
> >
> >
> > Here's the problem: suppose I fire up Python and type
> >
> > >>> import bugtest
> >
> > and then click on the Tk window that spawns and press 's'. Then
> > 'Saving:' gets printed, and an empty file named 'bugfile' appears in my
> > current working directory. But nothing else happens until I close the Tk
> > window; as soon as I do so the file is written to and 'saved' gets
> > printed. If I subsequently type
> >
> > >>> bugtest.m.gui()
> >
> > and then click on the resulting window and press 's', then 'Saving:
> > saved' gets printed and the file is written to immediately, exactly as I
> > would expect. Similarly if I remove the call to m.gui from the module
> > and just call it myself after importing then it all works fine. But it
> > seems as if calling the gui within the module itself somehow stops
> > savethread(self).run from finishing its job while the gui is still
> > alive.
> >
> > Can anyone help?
--
http://mail.python.org/mailman/listinfo/python-list