我正在尝试使我的模块在全球范围内可用
文件系统结构
main.py
module_static.py
folder/module_dynamic.py # this is example, but imagine 100s of modules
主文件
print('Loading module_static')
import module_static
module_static.test()
# Trying to make module_static available globally
globals()['module_static'] = module_static
__all__ = ['module_static']
print('Loading module_dynamic')
import sys
sys.path.append('./folder/')
import module_dynamic
module_dynamic.test()
module_static.py
def test():
print(' -> This is module_static')
module_dynamic.py
def test():
print(' -> This is module_dynamic')
module_static.test()
运行main.py会创建以下执行流程main.py -> module_dynamic.py -> module_static.py
如您所见:
- 模块加载正常
- 但是,尽管尝试在
module_static
全球范围内提供,但它不起作用module_dynamic.py抛出错误说不module_static
存在
我怎样才能module_static.py
提供module_dynamic.py
(理想情况下不必在 中编写任何额外的代码module_dynamic.py
)?