假设我有一个名为config.py的模块,它包含与我所连接的恶意软件相关的数据,现在我希望使用两种不同的硬件,hw1和hw2。config.py可以访问一个标志,因此它知道我在使用哪个硬件。我希望将特定的hw1配置数据放入它自己的文件中,并同样用于hw2。
所以我现在有这样的东西:
config.py
hw1_config.py
hw2_config.py
然后执行有条件导入,将其中一个导入到config.py中。
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也是如此。那么,有条件的进口会是什么样子呢?
config.py
/hw1/config.py
/hw2/config.py
将来,我也可能希望将config.py分解为startup_config.py和shutdown_config.py。同样,根据所涉及的hw,这些文件也不同。在这种情况下,什么可能是好的文件/文件夹结构?
config/startup.py
config/shutdown.py
config/hw1/startup.py
config/hw1/shutdown.py
config/hw2/startup.py
config/hw2/shutdown.py
发布于 2014-09-18 07:51:30
我认为第一个解决方案看起来没问题。
if hw = "hw1":
from hw1_config import *
elif hw = "hw2":
from hw2_config import *
如果计划将配置文件移动到不同的文件夹,则可以在每个文件夹(hw1/__init__.py
、hw2/__init__.py
)中创建一个文件config.py
,然后在原始config.py
文件中导入配置文件,如下所示:
if hw = "hw1":
from hw1.config import *
elif hw = "hw2":
from hw2.config import *
至于第三种结构,我认为这一步有点为时过早--您可以在每个目录中glob
文件名,然后逐个导入它们。
https://stackoverflow.com/questions/25906980
复制相似问题