私はそのようなディレクトリを持っています:
python_scripts/
test.py
simupy/
__init__.py
info.py
blk.py
'blk.py'および 'info.pyは、いくつかの関数を含むモジュールであり、そのうちの1つは関数' blk_func(para) 'です。
'__init__。py'内に、次のコードを含めました。
import os
dir_path = os.path.dirname(os.path.realpath(__file__))
file_lst = os.listdir(dir_path)
filename_lst = list(filter(lambda x: x[-3:]=='.py', file_lst))
filename_lst = list(map(lambda x: x[:-3], filename_lst))
filename_lst.remove('__init__')
__all__ = filename_lst.copy()
'test.py'内の関数 'blk_func(para)'、およびパッケージ内の他のすべての関数にアクセスしたいと思います。したがって、次のコード行を「test.py」に挿入してパッケージをインポートします。
from simupy import*
ただし、この関数を使用するには、次のことを行う必要があります。
value = blk.blk_func(val_param)
関数名を呼び出すだけで「test.py」の関数に直接アクセスできるように、パッケージsimupyをインポートするにはどうすればよいですか?つまり.
value = blk_func(val_para)
とても簡単
___init__.py
_:
_from simupy.blk import *
from simupy.info import *
_
ところで、私の2セントだけですが、パッケージの関数を___init__.py
_にインポートしたいが、___main__.py
_でアクションを実行したいようです。
お気に入り
___init__.py
_:
_from simupy.blk import *
from simupy.info import *
_
___main__.py
_:
_from simupy import *
# your code
dir_path = ....
_
これは最もPython的な方法です。その後、次のことができるようになります。
python -m simupy
_として実行しますimport simupy; print(simupy.bar())
from simupy.info import bar
_。私にとってそれはPythonの美しさの一部です..