trace
モジュールを使用してコードの実行をトレースするプロジェクトに取り組んでいます。
を呼び出すときはtrace.Trace(args).run(stuff)
、stuff
コードオブジェクトまたは文字列のいずれかである必要があります。
今のところ、を呼び出して呼び出す関数を作成していますfunctools.partial
。この部分は、私が必要としているとおりに機能します。
ただし、トレース部分に到達すると、functools.partial
オブジェクトを使用してトレースを実行できません。myFuncToolsPartialObject.func.func_name(args)
関数がローカルスコープにインポートされることを保証できないため、使用できません。インポートを呼び出すことでこれを回避できますが、現時点では回避したいと思います(個人的な好みと呼びましょう)。
functools.partial
トレースを適切に呼び出すために、オブジェクトをコードオブジェクトに変換する方法はありますか?
私は求めることができることを知っていmyFuncToolsPartialObject.func.func_code
ますが、必要な引数でそれを呼び出す方法がわかりません