如何在Python中动态导入模块

2024-04-19 14:05:05 发布

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

我尝试根据文件名导入文件,例如:

project /
    __init__.py
    log.py
    conf /
        __init__.py
        logger_settings.py
        other_settings.py

在我的conf/__init__.py文件中,我希望有类似的内容:

^{pr2}$

因此,与log.py文件相比,我可以执行以下操作:

 #!/usr/bin/env python -u                                                        
 # -*- coding: utf-8 -*-                                                         
 # vim: tabstop=4 shiftwidth=4 softtabstop=4 expandtab                           

 import os                                                                       
 import logging                                                                  

 from project import conf                                                     

 CONF = conf.get_settings('logger_settings')                                              

 def getLogger(identity ,log_file=CONF.log_file):  
     # Then access CONF to return settings
     # For example:
     # host = CONF.host  would return something like 'localhost'

我想要这样的logger_settings.py

log_file = '/mnt/logs/'
host = 'localhost'

我需要如何修改conf/__init__.py才能实现这一点?在


Tags: 文件pyimportprojectloglocalhosthostreturn