0

簡単な Python インポートの質問があります。モジュールBをインポートしているモジュール(それをAと呼びましょう)があります。モジュール B は他の多くのモジュール C、D、E、F などをインポートします。モジュール A がモジュール C、D、E、F などを使用できるようにしたいのですが、これを行う簡単な方法はありますか? AからC、D、E、Fなどを直接インポートしたくありません。

私が達成しようとしているのは、モジュール A を作成するスクリプト開発者に API を提供することです。そのため、モジュール A には、API へのメイン エントリ ポイントであり、すべてのモジュールをインポートするモジュール B を含めるだけで済みます。 API。

4

3 に答える 3

2

あなたはできる...

from B import *

...モジュールA内(ただし、モジュールA内のものと同じ名前を持つモジュールB内に他に何もないことを確認する必要があります。そうしないと、名前空間の衝突が発生します)。

それができたら、できる...

C.blah()
D.testing.meh()

...いつものように、モジュール A の内部。

または、より良い解決策は、モジュール A で次のようなことを行うことです。

import B

B.C.blah()
B.D.testing.meh()
于 2012-08-10T17:55:06.937 に答える
0

B で使用できますfrom ... import *。この後、C、D からのすべての定義が B 名前空間で使用可能になります。しかし、この解決策は大量のコードに対して常に便利であるとは限らず、混乱を招きます。

a.py:

import b
b.foo()

b.py:

from c import *
from d import *

c.py:

def foo():
    pass
于 2012-08-10T17:58:21.977 に答える