首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用条件导入配置模块

使用条件导入配置模块
EN

Stack Overflow用户
提问于 2014-09-18 07:44:43
回答 1查看 124关注 0票数 0

假设我有一个名为config.py的模块,它包含与我所连接的恶意软件相关的数据,现在我希望使用两种不同的硬件,hw1和hw2。config.py可以访问一个标志,因此它知道我在使用哪个硬件。我希望将特定的hw1配置数据放入它自己的文件中,并同样用于hw2。

所以我现在有这样的东西:

代码语言:javascript
运行
复制
config.py
hw1_config.py
hw2_config.py

然后执行有条件导入,将其中一个导入到config.py中。

代码语言:javascript
运行
复制
if hw = "hw1":
   from hw1_conifg import * 
elif hw = "hw2":
   from hw2_conifg import * 

这样做好吗?

我是否可以在config.py的名为hw1和hw2的文件夹中创建文件夹,并将hw1_config.py移到hw1文件夹中,重命名为config.py。hw2_config.py也是如此。那么,有条件的进口会是什么样子呢?

代码语言:javascript
运行
复制
config.py
/hw1/config.py
/hw2/config.py

将来,我也可能希望将config.py分解为startup_config.py和shutdown_config.py。同样,根据所涉及的hw,这些文件也不同。在这种情况下,什么可能是好的文件/文件夹结构?

代码语言:javascript
运行
复制
config/startup.py 
config/shutdown.py
config/hw1/startup.py 
config/hw1/shutdown.py
config/hw2/startup.py 
config/hw2/shutdown.py
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-18 07:51:30

我认为第一个解决方案看起来没问题。

代码语言:javascript
运行
复制
if hw = "hw1":
   from hw1_config import * 
elif hw = "hw2":
   from hw2_config import * 

如果计划将配置文件移动到不同的文件夹,则可以在每个文件夹(hw1/__init__.pyhw2/__init__.py)中创建一个文件config.py,然后在原始config.py文件中导入配置文件,如下所示:

代码语言:javascript
运行
复制
if hw = "hw1":
   from hw1.config import * 
elif hw = "hw2":
   from hw2.config import * 

至于第三种结构,我认为这一步有点为时过早--您可以在每个目录中glob文件名,然后逐个导入它们。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25906980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档