Pythonでimportするファイルの探し先パス一覧

説明

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バンザイ

タイトルとURLをコピーしました