如何全局地切换导入两个module?

2013-03-14 09:15:58 +08:00
 ThunderEX
有两个module记为module_A、module_B,或许还有更多。它俩存放了两套不同的配置,即有同样的变量名不同的值。跑的时候看实际需要import其中之一。但是希望对上层能隐藏。
现在的样子是:
if case1:
import module_A as module
elif case2:
import module_B as module
这样后面反正都用module.xxx调用,不用关心是调用module_A或module_B了。
但是同一project里import这套配置的文件不止这一处,总不能每一个文件都一运行就都跑一大段判断一下import哪个,有办法可以统一地使所有import都import其中某一个module么?
3337 次点击
所在节点    Python
2 条回复
BOYPT
2013-03-15 09:10:56 +08:00
python的module都是全局的呀,你在任何地方import过了,其他地方直接用就是了。

当然这不一定符合你的需求,比如你的是处理web请求,可能每个请求都会判断要用哪个模块(说是话我会差评这样的方法),可能你需要用到装饰器对handle函数进行装饰。
aisk
2013-03-15 09:35:28 +08:00
先在一个文件里import并做好判断,其他文件直接从这个文件import就好了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/62871

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX