Python:execによる実行関数名取得

ステートメントすら面倒になってしまったので
litera=dedent("""
        実行コード""")
exec(litera)
のようなことをしてまで努めていたが、そうなると実行関数名の取得もしたい。こんなときはinspect.currentframe().f_code.co_name
をつかうのだが、execすると実行フレームがトップレベルに飛ばされてしまい、'<module>'が戻ってくる。はてさてとPerplexity君に訊いてみたら
.f_backを.f_codeの前に挿入するだけで飛ばされる前のフレームを取得できるそうではないか。今更ながらプログラミングはAIすげぇな

いいなと思ったら応援しよう!