我正在使用python 3.4.4,并通过创建示例包来测试“ init.py”功能,但无法实现。提到的情况在python 2.7.13版本的情况下可以正常工作。谁能告诉我我正在做的错误,还是python 3.x版本的语法有任何变化。请帮我学习Python 3吗?
目录结构:
TestPackage/
__init__.py
TestModule.py
run.py
TestModule.py的内容:
def TestFun():
print("Welcome")
__init__.py的内容:
from TestModule import TestFun
run.py的内容:
from TestPackage import TestFun
TestFun()
当我执行run.py文件时,出现以下错误:
Traceback (most recent call last):
File "D:\CASE03\run01.py", line 1, in <module>
from TestPackage import TestFun
File "D:\CASE03\TestPackage\__init__.py", line 1, in <module>
from TestModule import TestFun
ImportError: No module named 'TestModule'
但是,当我使用python 2.7.13时,它工作得很好。请指导我。
在内__init__.py
,如果您更改
from TestModule import TestFun
至
from .TestModule import TestFun
您将获得预期的行为。
请参阅:PEP 328(有关使用前导点的相对导入的部分)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句