路径为app/base/admin/crud/__init__.py
。
我想将整个文件夹导入为这样的包:
import app.base.admin.crud as cx
但它不起作用并给出了这个错误:
AttributeError: module 'app.base' has no attribute 'admin'
但是当我导入它的功能如from app.base.admin.crud import crud
时,它就可以了。
这里发生了什么?
答案 0 :(得分:1)
请参阅documentation about packages。
更具体地说那部分:
[...]当使用import item.subitem.subsubitem之类的语法时,除了last之外的每个项都必须是一个包;最后一项可以是模块或包,但不能是前一项中定义的类或函数或变量。
单独使用import x.y.z
语句(不包含from
)时,您实际导入的代码包在代码中用作x.y.z.something()
。该路径的每个部分必须是正确的包(换句话说,包含__init__.py
文件)