この記事では、Pythonでモジュールの格納場所を確認する方法を解説します。
Pythonでプログラミングしているとモジュールをよく使いますが、モジュールがどこに格納されているか忘れてしまうことが多々あります。
そんな時はinspect
モジュールを使ってモジュールの格納場所を確認しましょう!
それでは、実際にモジュールの格納場所を確認してみましょう!
書式
モジュールの格納場所を確認するには、inspect
モジュールのgetfile()
メソッドを使います。
import inspect
inspect.getfile(オブジェクト)
引数 | オブジェクトを指定する。オブジェクトが組み込みモジュール、クラス、関数の場合は、TypeError例外が発生 |
---|---|
戻り値 | ファイルの名前(パス)が文字列で返される |
サンプル
試しに、numpy
モジュールがどこに格納されているか確認してみましょう!
import inspect
import numpy
print(inspect.getfile(numpy))
実行結果
/Users/user/.pyenv/versions/3.9.0/lib/python3.9/site-packages/numpy/__init__.py
僕の環境ではpyenv
を使っているのでその中に格納されているのがわかりました。ただし、組み込みモジュールの格納場所を確認しようとするとTypeError
が送出されます。
import inspect
import sys
print(inspect.getfile(sys))
実行結果
TypeError: <module 'sys' (built-in)> is a built-in module
組み込みモジュールかどうかは、sys.builtin_module_names
で確認できる。
import sys
print(sys.builtin_module_names)
実行結果
('_abc', '_ast', '_codecs', '_collections', '_functools', '_imp', '_io', '_locale', '_operator', '_peg_parser', '_signal', '_sre', '_stat', '_string', '_symtable', '_thread', '_tracemalloc', '_warnings', '_weakref', 'atexit', 'builtins', 'errno', 'faulthandler', 'gc', 'itertools', 'marshal', 'posix', 'pwd', 'sys', 'time', 'xxsubtype')
この記事では、モジュールの格納場所を確認する方法を解説しました。
inspect
モジュールのgetfile
メソッドを使うことで簡単にモジュールの格納場所を確認することができました。
格納場所を忘れてしまった場合は、コード内から確認してみてはいかがでしょうか?
それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ