gpt4 book ai didi

在不同位置导入时重新导入 Python 模块

转载 作者:行者123 更新时间:2023-11-28 20:47:43 25 4
gpt4 key购买 nike

我对 python 比较陌生,我有一个简单的 python 模块,其中包含一些常量,这些常量正在被其他文件中的某些代码修改。我希望它们始终保持一致。即

a.py

start = True

b.py

import a
while(a.start):
//do something

c.py

import a
a.start =False

我对 python 模块的理解是,它就像一个单例,任何模块只导入一次。因此,当我尝试运行 b.py 然后运行 ​​c.py 时,我期望的是:

  • b.py 循环
  • c.py 设置 start 为 false
  • b.py 停止循环,因为它们是从同一模块导入的

但是,当我运行它时,我认为正在发生的事情是模块作为副本重新导入,并且 b.py 永远不会停止运行。我有没有做一些非常基本的错误?

最佳答案

Python 模块是单例在解释器的一次运行中

单独进程中运行c.py不会改变另一个Python解释器中start的值。

关于在不同位置导入时重新导入 Python 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18188167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com