2016-05-09 6 views
1

私はよく使用する関数用のカスタムパッケージを作成しています。特定のモジュールには適合せず、いくつかのモジュールで使用されるいくつかの関数があります。私はそれらを__init__.pyに入れていますが、動作しますが、非常に小さい__init__.pyを推奨する多くのチュートリアルを見てきました。私はそれらを置くことができるより良い場所はありますか?一般的な機能を置くのに適していますか?

私はこのようにそれらを呼び出すことができるようにしたい:

私は、これらの機能を入れてください
import mypackage 

#functions in modules 
mypackage.module.function() 

#common functions 
mypackage.function() 

答えて

1

再利用可能なコードを格納するための「ユーティリティ」パッケージ/ファイルを作成し、それをファイルにインポートすると、それらを恩恵を受けることができます。

あなたのinit.pyファイルについて - 私はそれを空にしておきます!

# utilities.py 
def method(): 
    return None 

# Some class 
from utilities import * 

nothing_burger = method() 
print nothing_burger 

あなたはPythonパスに親フォルダを追加した場合、command_line_interface.pyまたはdata_access.pyファイル内であなたが

from extras.utilities importをインポートすることができますが*

、あなたはすべてのあなたの再にアクセスする必要があります使用可能な方法

. Parent 
    | 
    ├── cli 
    │   ├── __init__.py 
    │   └── command_line_interface.py 
    ├── persistence 
    │   ├── data_access.py 
    │   └── __init__.py 
    └── extras 
     ├── exceptions.py 
     ├── utilities.py 
     └── __init__.py 
関連する問題