Categories: Python

【Python】モジュールの格納場所を確認する

この記事では、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メソッドを使うことで簡単にモジュールの格納場所を確認することができました。

格納場所を忘れてしまった場合は、コード内から確認してみてはいかがでしょうか?

それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ

ゆうまる

独学でプログラミングを勉強しているおじさん。いろんな言語を勉強したが浅く広くなためあまり仕事につながらない。また忘れっぽいため自分のブログを備忘録としても使っている。産まれてこのかたずっとネコを飼ってる生粋のネコ派。最近お腹が出てきて筋トレに奮闘中!

Recent Posts

【Dart】コンストラクタのデフォルト引数について

Dartのコンストラクタのデフォルト引数…

2週間 ago

【Unity】有料アセットを無料で手に入れる方法

この記事では、Unityの有料アセットを…

5か月 ago

【Python】任意の秒数だけ処理を一時停止する方法【sleep()関数】

この記事では、Pythonで任意の秒数だ…

1年 ago

【Python】Wordの文書の新規作成と読み書き

この記事では、Pythonを使ってWor…

1年 ago

【Python】メタクラスって結局なんなの?

この記事では、Pythonのメタクラスに…

1年 ago