gpt4 book ai didi

python - 从周围的框架中获取 locals()

转载 作者:行者123 更新时间:2023-11-30 23:26:55 26 4
gpt4 key购买 nike

我正在尝试将我的 Template(s).substitute("$a,$b", locals()) 替换为类似的简短内容

sub("$a,$b")

但是,我无权访问 sub() 内周围范围的局部变量,知道如何获取它们吗?我发现的一个可能的解决方法是抛出异常,捕获它,然后沿着帧逐步查找前一帧,但也许有更简单的方法?

import traceback, sys, code
try:
2/0
except Exception as e:
type, value, tb = sys.exc_info()
traceback.print_exc()
last_frame = lambda tb=tb: last_frame(tb.tb_next) if tb.tb_next else tb
frame = last_frame().tb_frame
ns = dict(frame.f_globals)

最佳答案

尝试使用sys._current_frames()而不是引发异常。

可能的替代方案:sys._getframe() , inspect.currentframe() , inspect.stack()

我想不出比分析框架更好的解决方案。

关于python - 从周围的框架中获取 locals(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22336572/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com