inspect
参考:
実行中の関数名/メソッド名を動的に取得する | Hello.
inspect – 活動中のオブジェクトの情報を取得する | Python 3.x ドキュメント [公式]
currentframe
参考:
inspect.currentframe | Python 3.x ドキュメント [公式]
getframeinfo
参考:
inspect.getframeinfo | Python 3.x ドキュメント [公式]
Getting the function for a compiled function object – Stack Overflow
getmodule
フレームオブジェクトからコードが定義されたモジュールを取得する。
import inspect
def test():
frame = inspect.currentframe()
mod = inspect.getmodule(frame)
print(f"{frame.f_code.co_name}() in '{mod.__name__}'")
test()
Code language: Python (python)
※静的に取得したい場合は、func_name.__module__
を用いる。
参考:
inspect.getmodule | Python 3.x ドキュメント [公式]
Get __name__ of calling function’s module – Stack Overflow
_getframe
参考:
sys._getframe | Python 3.x ドキュメント [公式]
settrace
参考:
sys.settrace | Python 3.x Documentation [Official]
Hooking every function call – Stack Overflow
sys.settrace only getting called at function calls, not every line – Stack Overflow
Why doesn’t sys.settrace fire when there’s no main function? – Stack Overflow
引数を取得する
参考:
Python 3 で 関数の内部で自分自身の引数を取得する方法 | Tottoto Note
inspect.getargvalues | Python 3.x ドキュメント [公式]
pdb
ドキュメント:
pdb – Python デバッガ | Python 3.x ドキュメント [公式]
trace
ドキュメント:
trace – 文実行のトレースと追跡 | Python 3.x ドキュメント [公式]
参考:
Tracing Call Flows in Python | Programmer’s Notebook
Trace lines as they are executed, but save to file, rather than stdout – Stack Overflow
ipdb
リポジトリ:
gotcha/ipdb: Integration of IPython pdb – GitHub
入手: