0

我有 2 个模块

mexec1.py

def exec1func():
    print 'exec1'
    exec 'c:/python27/exec2.py'

if __name__ == '__main__':
    exec1func()

执行2.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 回答