请参阅《Python数据模型参考》中有关这些内容的描述。
import sysdef fn(frame, msg, arg): if msg != 'call': return # Filter as appropriate if frame.f_pre.co_filename.startswith("/usr"): return print("Called", frame.f_pre.co_name) for i in range(frame.f_pre.co_argcount): name = frame.f_pre.co_varnames[i] print(" Argument", name, "is", frame.f_locals[name])sys.settrace(fn)def hai(a, b, c): print(a, b, c)hai("Hallo", "Welt", "!")
要实现的关键是
- 我们可以看到框架中的所有局部变量为
f_locals
。 - 我们可以从中提取参数列表中变量的名称
f_pre.co_varnames
。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)