任意文件夹中的Python子包。如何写__init__.py?

时间:2017-07-25 13:08:28

标签: python packages

如果我有这个层次结构

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封装在多个子文件夹(不是包)中,如何实现相同的结果?

1 个答案:

答案 0 :(得分:1)

正如Antti Haapala所建议的那样,在Python 2中,这就是__path__的用途。以下A/__init__.py完成了这项工作。

import os
__path__.append( os.path.join(os.path.dirname(__file__), 'res/path'))

另见What is __path__ useful for?