フォルダ構成がある時のimportの仕様について理解できず、質問させてください。フォルダ名やスクリプトは以下のリンクを引用しています。
以下のフォルダ構成になっているとき、dirAからpython dirC/C02.pyでC02.pyを呼び出しても、
dirCからpython C02.pyを呼び出しても、両方とも"ModuleNotFoundError: No module named 'dirB'"とエラーが出ます。
dirAからC02.py呼び出した場合、カレントディレクトリがdirAになりますし、Bをインポートできるような気がするのですが、なぜこれができないのでしょうか?
pyファイルがある場所をsys.pathに自動追加するが、カレントディレクトリは追加しない仕様だから、と考えたのですが、認識正しいでしょうか?
# ファイル構成 dirA ├ dirB │ └ B.py └ dirC └ C02.py
# ===== B.py ===== def funcB(): print("B -- funcB")
# ===== C02.py ===== from dirB.B import funcB ## 省略 ##
回答2件
あなたの回答
tips
プレビュー