我有以下结构 -
invoize/
__init__.py
globals.py
view/
__init__.py
tags.py
globals.py 包含一个名为 app 的变量。
- 我想从 tags.py 访问该变量。
- 我想修改它,使其状态在全球范围内得到反映(不仅仅是本地参考)。
如何从 tags.py 访问变量app以实现上述目标?
谢谢,穆尔塔萨
我有以下结构 -
invoize/
__init__.py
globals.py
view/
__init__.py
tags.py
globals.py 包含一个名为 app 的变量。
如何从 tags.py 访问变量app以实现上述目标?
谢谢,穆尔塔萨
使用相对导入:
from ..invoize import globals
print globals.app
globals.app = True
请注意,要使其正常工作:
你需要一个__init__.py
在顶层,旁边view
和invoize
您需要tags
从包外部导入(您将无法进入view
文件夹并运行python tags.py
.
您是否尝试过编辑 PYTHONPATH 环境变量以包含“/invoize/”目录?
我是这样回答你的问题的:
[gp@imdev1 /testdir/invoize/view] 导出 PYTHONPATH=$PYTHONPATH:/testdir/
[gp@imdev1 /testdir/invoize/view] echo $PYTHONPATH /opt/python3/lib/python3.3/selenium/webdriver/support/:/opt/python3/lib/python3.3/selenium/webdriver/ie/: /测试目录/
在 /testdir/invoize/globals.py 中:
app = 'murtaza52'
在 /testdir/invoize/view/tags.py 中:
导入 invoize.globals
打印 invoize.globals.app
invoize.globals.app += 'newvalue'
打印 invoize.globals.app
[gp@imdev1 /testdir/invoize/view]$ python tags.py
穆尔塔扎52
murtaza52 新值