因此,我有两个python文件:
第一个“ m12345.py”
def my():
return 'hello world'
第二个“ 1234.py”:
from m12345 import *
a = m12345.my()
print(a)
在ipython上,我尝试执行这样的cmds:
exec(open("f:\\temp\\m12345.py").read())
exec(open("f:\\temp\\1234.py").read())
第二个命令的错误是:
ImportError: No module named 'm12345'
请帮助如何将第一个文件添加为第二个模块?
您必须m12345
通过调用创建一个新模块(例如)m12345 = imp.new_module('m12345')
,然后通过调用在该模块中执行python脚本exec(open('path/m12345.py').read(), m12345.__dict__)
。请参见下面的示例:
import imp
pyfile = open('path/m12345.py').read()
m12345 = imp.new_module('m12345')
exec(pyfile, m12345.__dict__)
如果希望模块位于系统路径中,则可以添加
sys.modules['m12345'] = m12345
之后,您可以做
import m12345
或者
from m12345 import *
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句