如果我有这个层次结构
A
|- __init__.py
|-B
|- __init__.py
|- funcitons.py
(which contains def my_function(): pass)
我安装了包A
,我可以执行以下操作
from A.B import functions
functions.my_function()
或
from A.B.functions import my_function
my_function()
如果将B封装在多个子文件夹(不是包)中,如何实现相同的结果?
答案 0 :(得分:1)
正如Antti Haapala所建议的那样,在Python 2中,这就是__path__
的用途。以下A/__init__.py
完成了这项工作。
import os
__path__.append( os.path.join(os.path.dirname(__file__), 'res/path'))