这可能是一个愚蠢的问题,但我只是想知道为什么以及如何。
我在.py文件中全局声明了变量deviceConfig
(dict)。我的预期结果:一旦.py运行完成,它将改变文件中的全局变量值。
我测试了在脚本和脚本结尾处打印值。 python运行时完成后,初始值和输出不同。这意味着它可以在运行时更改全局变量的值。
但是当我在完成运行后再次打开.py文件时,变量的值仍然相同。 (也许是因为我硬编码了dict值?)
deviceConfig = {}
deviceConfig["sw_ui"] = "0.1"
print deviceConfig #output 0.1
#this is change value function
def alterValue():
global deviceConfig
#change the value from 0.1 to 0.2
deviceConfig["sw_ui"] = "0.2"
alterValue()
print deviceConfig #output 0.2 at runtime
当你这样做
deviceConfig["sw_ui"] = "0.2"
你改变了deviceConfig["sw_ui"]
的运行时值。但是在运行时更改变量的值不会更改Python源代码。如果您希望在程序调用期间保留此类更改,则需要将它们存储在配置文件中。