Python何时评估导入的文件?

Python何时评估导入的文件?,python,import,global,Python,Import,Global,我希望问题的措辞是有意义的。我想做的是更改文件中平面变量的值,并让导入该文件的文件看到更新后的值。看来我能做到。例如: #settings.py VARIABLE = 1 def change_variable(): global VARIABLE VARIABLE = 2 及 哪些产出: 1 2 如所愿。虽然我有点惊讶,因为我认为settings.VARIABLE的值可能会在导入设置后固定。我想知道我是否可以相信这种行为。因此,我的问题是,从导入文件的角度来看,导入文件中的

我希望问题的措辞是有意义的。我想做的是更改文件中平面变量的值,并让导入该文件的文件看到更新后的值。看来我能做到。例如:

#settings.py
VARIABLE = 1
def change_variable():
    global VARIABLE
    VARIABLE = 2

哪些产出:

1
2
如所愿。虽然我有点惊讶,因为我认为settings.VARIABLE的值可能会在导入设置后固定。我想知道我是否可以相信这种行为。因此,我的问题是,从导入文件的角度来看,导入文件中的值通常何时“更新”或“重新评估”?它在幕后是如何运作的


我当然可以去上课。但我不喜欢设置或任何配置作为对象的想法。我喜欢平的。但我希望在导入后根据用户cli输入更改设置。

导入文件
settings.py
后,python将完成对该文件的查看。它现在在内存中加载了一个模块,如果它被导入到其他地方,该模块将被加载到那里。第一次导入后,将不再查看该文件

您的函数更改了该模块中变量的值。除非再次更改,否则可以将其作为新值

1
2