Importing v reloading modules modules

Discussion in 'Python' started by Peter Peyman Puk, Mar 19, 2010.

  1. Hello

    I submitted this earlier today, but I was not clear enough, so I am
    posting it again.

    I am running a simulator written in python. The simulator has a small
    TextView (actually a SourceView) widget which lets the user writes
    scripts, and when they are satisfied they can execute that script to
    get results. For arguments sake, we write a simple script and save it
    as A.py and we import it and execute it more or less like so.

    import A

    #assume there is a function called test() in module A
    A.test()


    Then the user modifies the contents of A.py and saves it again (to
    A.py) now all we have to do is the following

    if 'A' in dir():
    reload(A)
    else:
    import A

    A.test()

    But since the user chooses the file name, and not me, the programmer,
    the module names will vary. Let's assume the module names are loaded
    and stored in the list module_names, and we iterate over them, and
    pass them as arguments to a function to import or reload each model as
    appropriate

    def import_or_reload(module_name):

    if module_name in sys.modules:
    #somehow reload
    else:
    #somehow import

    does anyone know how to deal with the reload and import as they both
    present problems since module_name is a string, and to reload
    something along the lines of the below must be executed

    exec 'reload(%s)'%module_name

    and then we also have to deal with the scope issue since the loaded
    module will be local and not global. I can execute something like so

    exec 'global %s'%module_name

    but that does not work very well with exec

    any suggestions?

    Cheers


    Peyman
     
    Peter Peyman Puk, Mar 19, 2010
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Andy Jewell

    Reloading nested modules

    Andy Jewell, Jul 13, 2003, in forum: Python
    Replies:
    2
    Views:
    315
    Martin v. =?iso-8859-15?q?L=F6wis?=
    Jul 14, 2003
  2. OKB (not okblacke)

    Importing/reloading modules

    OKB (not okblacke), Sep 4, 2003, in forum: Python
    Replies:
    0
    Views:
    302
    OKB (not okblacke)
    Sep 4, 2003
  3. Tobiah
    Replies:
    2
    Views:
    320
    Tobiah
    Sep 14, 2003
  4. Joseph Krauze

    reloading modules

    Joseph Krauze, Dec 3, 2003, in forum: Python
    Replies:
    0
    Views:
    299
    Joseph Krauze
    Dec 3, 2003
  5. plb
    Replies:
    2
    Views:
    361
Loading...

Share This Page