python从不同的文件夹以编程方式导入相同的文件名

2024-10-02 22:27:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下结构

sites 
  - SiteA
    - Settings.py
  - SiteA
    - Settings.py
  - SiteA
    - Settings.py

所有的设置.py文件有一个变量

域密钥=“”

有没有一种方法可以以编程方式导入这个结构,并在所有的设置文件中查看这个变量并打印出来?在

编辑(更新代码):

^{pr2}$

导入无法正常工作,不确定如何在不知道文件夹名称的情况下导入设置文件。在


Tags: 文件方法代码py文件夹名称编辑settings
1条回答
网友
1楼 · 发布于 2024-10-02 22:27:06

假设没有重复的文件名,您可以访问这些模块及其变量,如下所示:

import SiteA.Settings as A, SiteB.Settings as B, SiteC.Settings as C
print(A.DOMAIN_KEY, B.DOMAIN_KEY, C.DOMAIN_KEY)

编辑:另一个选项是__import__()语句,它允许您使用其名称加载模块:

^{pr2}$

编辑2:根据操作中的编辑

为什么不在脚本中的文件夹后面加上“Settings”模块名呢?在

for file in output.split():
    __module = __import__('%s.Settings' % file)
    print __module.Settings.DOMAIN_KEY

相关问题 更多 >