您对跟踪价值来源有何看法,具体情况如下:
presets.py
from handler import store_values
A = True
B = True
C = False
D = 42
store_values([A, B, C, D])
来自 handler.py 的store_values 应该可靠地确定第一个 True 是用 A = True 定义的,第二个 True 来自 B = True 等
关于什么不会做的一些想法,似乎:
答案 0 :(得分:1)
不要传递值,尝试从值到名称不仅复杂而且脆弱,而且还有hacky和混乱。传递他们的名字,以及识别名称空间的某种方式。例如,其中一个:
store_values(__name__, ['A', 'B', 'C', 'D'])
# look up module in sys.module, use getattr() and setattr()
store_values(globals(), ['A', 'B', 'C', 'D'])
# globals() is just a dict, so use brackets