python更改全局变量的值

问题描述 投票:-1回答:1

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

我在.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 
python variables global
1个回答
3
投票

当你这样做

deviceConfig["sw_ui"] = "0.2"

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

© www.soinside.com 2019 - 2024. All rights reserved.