以下のように定義された Python 関数があるとします。
def foo(arg1,arg2):
#do something with args
a = arg1 + arg2
return a
を使用して関数の名前を取得できますfoo.func_name
。上記で入力したように、プログラムでソース コードを取得するにはどうすればよいですか?
ベストアンサー1
関数がファイルシステム上で利用可能なソースファイルからのものである場合、inspect.getsource(foo)
役に立つかもしれない:
foo
が次のように定義される場合:
def foo(arg1,arg2):
#do something with args
a = arg1 + arg2
return a
それから:
import inspect
lines = inspect.getsource(foo)
print(lines)
戻り値:
def foo(arg1,arg2):
#do something with args
a = arg1 + arg2
return a
しかし、関数が文字列、ストリームからコンパイルされたり、コンパイルされたファイルからインポートされたりした場合は、そのソース コードを取得できないと思います。