Python изменить значение глобальной переменной - PullRequest
0 голосов
/ 04 апреля 2019

Это может быть глупый вопрос, но я просто хочу знать, почему и как.

У меня есть переменная deviceConfig (dict), объявленная глобально в файле .py.Мой ожидаемый результат: после завершения .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 Ответ

3 голосов
/ 04 апреля 2019

Когда вы делаете это

deviceConfig["sw_ui"] = "0.2"

, вы меняете значение времени выполнения на deviceConfig["sw_ui"].Но изменение значения переменной во время выполнения не меняет ваш исходный код Python.Если вы хотите, чтобы такие изменения сохранялись при вызовах вашей программы, вам нужно сохранить их в файле конфигурации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...