我正在使用trace
模塊追蹤代碼執行的項目。
當我撥打trace.Trace(args).run(stuff)
時,stuff
必須是代碼對象或字符串。trace with functools.partial
現在,我正在構建函數,我將調用functools.partial
調用。這部分完全按照我需要的方式工作。
但是,當我到達跟蹤部分時,我無法使用functools.partial
對象執行跟蹤。我不能使用myFuncToolsPartialObject.func.func_name(args)
,因爲我不能保證函數將被導入本地作用域。我可以通過調用導入來解決此問題,但現在寧可不要,我們稱之爲個人偏好。
有沒有一種方法可以將functools.partial
對象變成代碼對象以便正確調用跟蹤?
我知道我可以要求myFuncToolsPartialObject.func.func_code
,但我不知道如何調用它所需參數
我得到'類型錯誤:傳遞給exec可能不包含免費variables'代碼對象。但除此之外,我希望我能想到這個解決方案 – inspectorG4dget 2013-02-13 03:55:55