如何导入包含绝对路径的文件夹作为包?

时间:2018-01-04 15:16:21

标签: python

路径为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时,它就可以了。

这里发生了什么?

1 个答案:

答案 0 :(得分:1)

请参阅documentation about packages

更具体地说那部分:

  

[...]当使用import item.subitem.subsubitem之类的语法时,除了last之外的每个项都必须是一个包;最后一项可以是模块或包,但不能是前一项中定义的类或函数或变量。

单独使用import x.y.z语句(不包含from)时,您实际导入的代码包在代码中用作x.y.z.something()。该路径的每个部分必须是正确的包(换句话说,包含__init__.py文件)