コード分析を行うために使用_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
ますか?