1

さらに別のパッケージ内に次のようなかなり複雑なパッケージ ツリーがあります。

A\
    B\
        a.py
        b.py
        c.py
    C\
        a.py
        b.py
        c.py

import Aのようなすべてのサブパッケージとサブモジュールを実行してアクセスできるようにしたいA.B.a.foo()。1 つの方法は、 のA/__init__.pyすべてAのサブパッケージをインポートすることですが、一部のサブパッケージは他のサブパッケージもインポートします (たとえば、からに至るA.Cものを使用します。私が探しているのは、サブパッケージをインポートする方法ですが、まだ親パッケージにバインドされています.これを行う良い方法はありますか?A.BImportErrorfrom A import B as A.B

(この質問をどのタイトルが具体化しているかはわかりません。誰かがより良いタイトルを持っている場合は、変更します。)

4

2 に答える 2

0

試しましたか:

A.__init__

import B
import C

B.__init__

import C, a, b, c

C.__init__

import B, a, b, c

いくつかのテストファイルでこれを試してみましたが、うまくいくようでした。

In [5]: import A

In [6]: A.
A.B  A.C  

In [6]: A.B.
A.B.C  A.B.a  A.B.b  A.B.c  
于 2013-06-05T05:24:29.613 に答える