0

私は2つのモジュールを持っています

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='')

exec1.pyからexecまたはexecfileのみを使用してexec2.pyのexec2funcを呼び出したい...subprocess.Popen。は必要ありません。

4

2 に答える 2

2

import代わりに使用してください:

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

フルパスを使用してインポートする場合は、次を使用しますimp.load_source

import imp

def exec1func():
    exec2 = imp.load_source('exec2', 'c:/python27/exec2.py')
    exec2.exec2func()
于 2012-10-25T03:33:59.827 に答える
0

モジュールにしてインポートしたほうがいいでしょう。動的インポートが必要な場合は、importlibを使用してください。

mod = importlib.import_module("exec2", package=None)
mod.exec2func()
于 2012-10-25T04:37:00.750 に答える