Python: add a variable to the scope of an imported function
Question: Consider the following situation:

    
    
    #module.py
    def test():
        foo = bar+'foo'
        print foo
    if __name__ == '__main__':
        bar='test'
        test()
    

The main file is:

    
    
    #main.py
    import module
    bar = 'test'
    module.test()
    

Running main.py obviously generates a `NameError`. I know that there are
several ways to fix this (such for example, redefining the function in
main.py) but my question is: how is it possible to add the bar variable to the
function scope, without modifying the module.py code and, more generally, what
is it considered best-practice in such a situation?

Edit: What about the same question using `from module import *`?


Answer: I do not know the best practice, but the following works for me:

    
    
    import module
    module.bar='test'
    module.test()
    

