我有兴趣尝试使用 python。frame.f_locals
我知道我可以使用and检查并注入局部和全局变量到一个框架中frame.f_globals
,但我现在渴望创建一个完整的调用堆栈。
使我无法更改堆栈信息的原因是 python 不允许我更改它。
我实际上已经考虑过以编程方式转换我正在使用的 python 模块,以模拟缠绕堆栈。但我知道这是一个糟糕的解决方案,因为客户端代码使用if
, while
,with
并且try
很容易破坏我的代码。
我也看过 manipulating frame.f_back
,但无济于事。它是只读的。
>>> import sys
...
... frm = sys._getframe()
...
... frm.f_back = None
Traceback (most recent call last):
File "<pyshell#4>", line 5, in <module>
frm.f_back = None
TypeError: readonly attribute
我正在尝试做的事情
作为一项实验,我正在尝试fork()
通过网络实现。
我知道无堆栈 python 可能有我想要的,但仍然无法更改frame.f_back
属性。