説明
importサーチパスを探る
動作確認環境:Python3.6 / macOS 10.14.3
「sys.path」を参照する
Pythonがインポートするファイルを探しに行くときは
sysモジュールのpath変数に格納されているリストを参照する。
こんな感じ。
>>> import sys
>>> print(sys.path)
[”, ‘パス1’, ‘パス2’, ・・・]
>>>
(パス1、パス2は実際のパス)
リストの最初の空文字列はカレントディレクトリ。
同じディレクトリに作成したものが
最優先でimportされる仕様である。
ex.1 importするファイルを探すパス一覧
先に示したように、sys.pathを表示すると
リストの形でパスが表示されるが
もう少し視覚に易しく一覧で表示されるようにしてみよう。
# # importパスの一覧 # import sys #開始メッセージ表示 print("") print("Pythonが、importするファイルを探すパス一覧 ") #優先順位表示用カウンタのクリア ctrno = 0 #パスの一覧 for importpath in sys.path: ctrno = ctrno + 1 print(str(ctrno) + " > [" + importpath + "]") #終了メッセージ表示 print("以上")
(実行結果)
ex.1 :
Pythonが、importするファイルを探すパス一覧
1 > [カレントディレクトリ]
2 > [パス1]
3 > [パス2]
・
・
・
以上
4行めで、sysモジュールをインポート
14行目で、sys.pathのリストから
ひとつずつ値を取り出して
16行目で表示している。
ctrnoは、表示の優先順位を示すためのカウンタ。
一覧表示するときに
単純にパスを並べるだけだとつまらないので
優先される順番に数字を表示することにしてみた。
簡単なツールを作成するときでも
表示内容に少し情報を付加するだけで
使うときの利便性を向上することが出来る
作成直後なら、覚えていても、
時間が経つと、実行結果を見るだけでは
どのような情報かわからなくなったりする。
そのためにも手間を惜しまずがお薦めだ。
Pythonバンザイ