有人可以举一个例子,说明您何时使用Python编写以下内容
import p3 from p1.p2
p1
,p2
不是文件夹,而是文件。我正在尝试通过(令人困惑的?)文档和(更少)示例来理解稀疏文档化的导入系统。
答案 0 :(得分:0)
包装和导入在Python docs中有详细记录。
包可以构成为不一定反映目录结构的层次结构。在您的情况下,软件包p1
正在导入p2
,而后者又将导入p3
。所有这些软件包都可以在同一目录中。
# p1.py
import p2 # p2 is now accessible within this package
# p2.py
import p3 # p3 is now accessible within this package
# p3.py
some_variable = 'ding!'
有了这个导入层次结构,我可以导入p1
并像这样遍历该层次结构
import p1
print p1.p2.p3.some_variable
# ding!
或者我可以从层次结构中导入子包
from p1 import p2
# or
from p1.p2 import p3
print p3.some_variable
目录结构 可用于更简洁地组织软件包。通过将目录添加__init__.py
文件,可以将目录转换为可导入模块。您可以在这些init文件中执行类似的导入策略。