インポートされたモジュールの絶対パスを取得するにはどうすればよいですか?
質問する
20895 次
3 に答える
38
他の回答が言っているように、あなたはを使うことができます__file__
。ただし、他のモジュールがプログラムと同じディレクトリにある場合、これはフルパスを提供しないことに注意してください。したがって、安全のために、次のようなことを行います。
>>> import os
>>> import math
>>> os.path.abspath(math.__file__)
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/math.so'
これは、abspath(現在のディレクトリにある)checkIP
を取得する必要がある理由を説明するために呼び出されたモジュールの例です。checkIP.py
>>> import os
>>> import checkIP
>>> os.path.abspath(checkIP.__file__)
'/Users/Matthew/Programs/checkIP.py'
>>> checkIP.__file__
'checkIP.py'
于 2012-09-02T06:23:55.213 に答える
8
それが PYTHONPATH ディレクトリ ツリー内のモジュールである場合 (および__init__.py
そのディレクトリと親ディレクトリに a を配置することでアクセスできる場合)、そのpath属性を呼び出します。
>>>import sample_module
>>>sample_module.__path__
['/absolute/path/to/sample/module']
于 2016-03-07T19:24:19.983 に答える
3
あなたが試すことができます:
import os
print os.__file__
モジュールが配置されている場所を確認します。
于 2012-09-02T06:20:55.300 に答える