Re-running script from Tk shell

Russell E. Owen rowen at cesmail.net
Mon Apr 30 14:42:01 EDT 2007


In article <1177944662.957393.306620 at h2g2000hsg.googlegroups.com>,
 gtb <goodTweetieBird at hotmail.com> wrote:

> I am testing a simple script by running it in the Tk shell. It imports
> a class from another module. I edit and save the file from which I
> import. When I want to re-run I delete the Tk window  and run the
> module from the Edit window (F5 - Run Module). The script that does
> the importing does not see the changes to the imported class, even if
> I delete the compiled files. For it to see the changes I must close
> all the edit windows and re-open an Idle edit.
> 
> Perhaps I need to de-import the class, but I have not found a method
> in the tutorial or the reference (yet).

Try having your script first import the library and then reload it, e.g.:

import foo
reload(foo)

It will load foo more slowly the first time (and a clever if statement 
could avoid that) but it will always use the latest foo.

Warning: this will not work if you use
from foo import...

-- Russell



More information about the Python-list mailing list