【发布时间】:2016-07-30 15:18:33
【问题描述】:
文件夹结构:
<current dir>
main.py
packages <dir>
__init__.py
mod.py
主py:
import packages
print packages.mod.hello()
mod.py:
def hello():
return 'hello'
__init__.py:
from packages import mod
如果我运行main.py,则不会出错。但是,如果我将 __init__.py 编辑为 'from packages import *' ,我会收到此错误:AttributeError: 'module' object has no attribute 'mod'
我不是在问如何使 'print' 命令工作。我可以在main.py 中使用其他'import' 语法来使其工作。问题是:我很好奇__init__.py 中的'from packages import mod'。如果我可以做到import mod,那么当我替换为import *,这意味着导入所有内容时,为什么会出现错误?
那么from packages import * 在__init__.py 中的真正含义是什么?
有人可以帮忙吗?谢谢
【问题讨论】: