コード分析を行うために使用_astしていますが、インポートされた関数の名前を取得する際に問題が発生しました。
コード ファイル ( code.py) が次のようになっているとします。
import somemod
def foo():
somemod.bar()
でこのファイルの ast を取得すると、次のようなroot = compile(open('codefile.py').read(), 'codefile.py', 'exec', _ast.PyCF_ONLY_AST)行呼び出しを取得できます。somemod.bar
root.body[1].body[0]
これは_ast.Exprノードです。次に、このノードを調べて
取得できることを期待しています。somemod.barしかし、 を見るroot.body[1].body[0].value.func.value.idと が得られsomemodます。私が知る限り、私は取得する方法を見つけることができませbarんsomemod.bar
私は何が欠けていますか?どうすれば にたどり着けbarますか?