之前都是用django 框架还没有用到这种问题
大概情况 :用了wxpython 开发桌面程序 其中有一个标记元素会重复用到,所以我想实现这类效果:
a.py 文件(启动文件inloop) 定义了一个变量 aa
b.py 文件改变 aa 的值 a 文件得到 aa 改变后的值
并且 a.py 会导入 b.py 文件 的内容
方式 一 : 全局声明 global
结果:全局声明 global 对不同文件没用 导入不带入全局声明 ?
方式 一 : 在 b 文件中导入 aa 变量
结果: 导包错误 a 导包 b b也导包a 报错 记得 flask 框架中 也有循环导包问题 不过改变导包位置 集可解决可是这里不行
方式三 : 将 a, b 文件内容写在一起 就不存在导包问题了
结果 : 问题解决了 但是好 low
请问 分模块来写要怎么解决这个问题
案例demo
# a.py
from astar_mesmanager.test.b import change
aa = 1
print(aa)
print(change())
--------
# b.py
def change():
global aa
aa = 2
return aa
---------
# a.py 运行结果
1
2
两个aa 不是一个变量
--------
方案二
b.py 中加入
from astar_mesmanager.test.a import aa
def change():
global aa
aa = 2
return aa
------
报错 ImportError: cannot import name 'change'