スクリプトがあるとします。たとえばmy_tools.py
、モジュールとしてインポートするとします。ただし、my_tools.py
2 回保存されC:\Python27\Lib
ます。インポートを行うスクリプトが実行された場所と同じディレクトリに保存されます。
Python がmy_tools.py
最初に検索する順序を変更できますか? つまり、最初に存在するかどうかを確認し、存在するC:\Python27\Lib
場合はインポートしますか?
好きなだけ操作できsys.path
ます...現在のディレクトリを最後にスキャンするように移動したい場合は、sys.path[1:] + sys.path[:1]
. それ以外の場合は、要点を知りたい場合は、 imp モジュールを使用して心ゆくまでカスタマイズできます。そのページとhttp://blog.dowski.com/2008/07/31に例があります。 /customizing-the-python-import-system/
を変更するsys.path
と、Python がインポートを検索する順序と場所が決まります。(インポート文の前にこれを行う必要があることに注意してください。)
Python に組み込みモジュールを検索させたくない場合は、最初に現在のフォルダーを検索します。
あなたは変えられるsys.path
upon program startup, the first item of this list, path[0], is the directory containing the script that was used to invoke the Python interpreter
sys.path[0] is the empty string, which directs Python to search modules in the current directory first
、これをリストの最後に配置すると、現在のディレクトリに到達する前に、可能なすべての場所で最初に検索されます