16

次のディレクトリ構造があるとします。

lib\
--__init__.py
--foo.py
--bar.py

foo と bar の中には、同じメソッドを必要とする別々のメソッドがあります。例えば:

フー:

def method1():
    win()

バー:

def method2(number):
    if number < 0:
        lose()
    else:
        win()

__初期化__:

def win():
    print "You Win!"

def lose():
    print "You Lose...."

モジュールのそれぞれのサブファイルのinit .py内で win メソッドと lose メソッドを使用する方法はありますか、それともフォルダー内に別のファイルを作成して foo と bar インポートする必要がありますか?

4

2 に答える 2

8

相対インポートを使用します。

from . import win, lose
于 2012-09-05T18:26:33.197 に答える
8

はい、__init__.pyモジュールをインポートするだけです (絶対インポートまたは相対インポートのどちらを使用してもかまいません)。

私は相対インポートが好きではないので、相対インポートと同じようにimport mypackageinmypackage.foo__init__.pyインポートし、そこで使用します。また、一般的に何かを入れるのは好きではない__init__.pyので、とにかく共有共通ファイルを検討する必要があります。

于 2012-09-05T18:38:22.327 に答える