已知……
myGlobalVariableName = "zorp"
myGlobalVariableValue = "hello"
……如何使用 myGlobalVariableName
和 myGlobalVariableValue
的值来创建全局变量 zorp
并将其设置为 "hello"
?
以下方法虽然可以实现,但确实非常不推荐:
exec(f"""
global {myGlobalVariableName}
{myGlobalVariableName} = {myGlobalVariableValue!r}
""")
我认为问题的关键在于我不知道如何直接引用 __main__
模块对象的 __dict__
属性。如果我能获取到这个属性,或许我可以简单地这样做:
# 假设 main_module 是对 __main__ 模块对象的引用
main_module.__dict__[myGlobalVariableName] = myGlobalVariableValue
总之,我正在寻找的就是这种类型的解决方案。