calling python module dynamically using exec
Question: I have 2 modules

mexec1.py

    
    
    def exec1func():
        print 'exec1'
        exec 'c:/python27/exec2.py'
    
    if __name__ == '__main__':
        exec1func()
    

exec2.py

    
    
    def exec2func(parm=''):
        print 'exec2 parm',parm
    
    if __name__ == '__main__':
        exec2func(parm='')
    

From exec1.py I want to call exec2func of the exec2.py using only exec or
execfile...I don't want subprocess.Popen..


Answer: Use `import` instead:

    
    
    def exec1func():
        from exec2 import exec2func
        exec2func()
    

If you want to import using the full path, use `imp.load_source`:

    
    
    import imp
    
    def exec1func():
        exec2 = imp.load_source('exec2', 'c:/python27/exec2.py')
        exec2.exec2func()
    

