Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用条件导入配置模块_Python - Fatal编程技术网

Python 使用条件导入配置模块

Python 使用条件导入配置模块,python,Python,假设我有一个名为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 *

假设我有一个名为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。同样,这些文件因涉及的硬件而异。在这种情况下,什么是好的文件/文件夹结构

config/startup.py 
config/shutdown.py
config/hw1/startup.py 
config/hw1/shutdown.py
config/hw2/startup.py 
config/hw2/shutdown.py

我认为第一个解决方案看起来不错

if hw = "hw1":
   from hw1_config import * 
elif hw = "hw2":
   from hw2_config import * 
如果计划将配置文件移动到单独的文件夹中,则可以在每个文件夹中创建一个文件(
hw1/\uuuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuupy.py
hw2/\uuuuuuuuuuuuuuuuuuuuuu

if hw = "hw1":
   from hw1.config import * 
elif hw = "hw2":
   from hw2.config import * 
至于第三个结构,我认为这一步有点过早-您可以
glob
每个目录中的文件名,然后逐个导入它们