python更改全局变量的值

时间:2019-04-04 08:44:29

标签: python variables global

这可能是一个愚蠢的问题,但我只想知道为什么以及如何做。

我在.py文件中全局声明了变量deviceConfig(字典)。我的预期结果是:.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 

1 个答案:

答案 0 :(得分:3)

执行此操作

deviceConfig["sw_ui"] = "0.2"

您更改deviceConfig["sw_ui"]运行时值。但是在运行时更改变量的值不会更改Python源代码。如果您希望此类更改在程序调用期间得以保留,则需要将其存储在配置文件中。