6
私は、インポートに失敗したモジュールを持っているとしましょう(インポート時に例外があります)。Pythonのインポートに失敗したパスを見つけるにはどうしたらいいですか?
例えば、以下の内容でtest.py
:
print 1/0
[明らかに、これは私の実際のファイルではありませんが、それは良いプロキシとして立つ] pythonのプロンプトで、
今:
>>> import test
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "test.py", line 1, in <module>
print 1/0
ZeroDivisionError: integer division or modulo by zero
>>>
パス/ファイルの場所を探すには、test.py
が最適です。
[Iは、ファイルの各ディレクトリで探しPython's module search pathを反復処理できますが、私は簡単な方法がなければならないと思うだろう...]
パーフェクト:これは、パラメータとして、モジュールの名前を受信し、その2番目の項目のモジュールへのパスであるタプルを返す関数、
imp.find_module()
を有しています。私は単純な答えがなければならないことを知っていた(ちょうどそれを見つけることができなかった)! – Gerratどのようなdevilishly簡単なアプローチ。 –