我正在跟踪一个名为tracedFn()
:
sys.settrace(traceit)
tracedFn()
sys.settrace(None)
tracedFn
:_
def tracedFn():
foo = False
在traceit
函数中,我想使用 exec 语句来执行带有 tracedFn() 中变量的语句,如下所示:
def traceit(frame, event, trace_arg):
if event == 'line':
exec 'foo = True'
print frame.f_locals
#foo still False
return traceit
但是当我打印 frame.f_locals 时,exec 不会更改 foo 变量?