という関数をトレースしています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 変数を変更しませんか?