このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
50_dialy:2023:06:01 [2023/05/31 23:10] – 作成 matsui | 50_dialy:2023:06:01 [2023/05/31 23:24] (現在) – matsui | ||
---|---|---|---|
行 1: | 行 1: | ||
====== 2023.06.01 Python importパッケージ化 ====== | ====== 2023.06.01 Python importパッケージ化 ====== | ||
+ | |||
+ | ===== 構成 ===== | ||
+ | |||
+ | < | ||
+ | # tree | ||
+ | . | ||
+ | ├── main.py | ||
+ | └── subdir1 | ||
+ | ├── __init__.py | ||
+ | ├── mod1.py | ||
+ | └── subdir2 | ||
+ | └── mod2.py | ||
+ | </ | ||
+ | |||
+ | ===== __init__.py ===== | ||
+ | |||
+ | まずサブディレクトリ内の __init__.py にサブディレクトリ内のスクリプトを読み込む設定を書く | ||
+ | |||
+ | < | ||
+ | $ cat ./ | ||
+ | from . import mod1 | ||
+ | from .subdir2 import mod2 | ||
+ | </ | ||
+ | |||
+ | ===== main.py ===== | ||
+ | |||
+ | < | ||
+ | $ cat ./main.py | ||
+ | from subdir1 import * | ||
+ | |||
+ | print(mod1.var1) | ||
+ | print(mod2.var2) | ||
+ | </ | ||
+ | |||
+ | |||
+ | ■実行結果 | ||
+ | ちゃんとmod1.pyのvar1 と mod2.pyのvar2 が読み込まれる。 | ||
+ | < | ||
+ | $ python3 main.py | ||
+ | Hello | ||
+ | World! | ||
+ | </ | ||
{{tag> | {{tag> |