0
我想根據自己的名字來導入文件,例如:如何動態地導入模塊在Python
project/
__init__.py
log.py
conf/
__init__.py
logger_settings.py
other_settings.py
在我conf/__init__.py
文件我想有一些與此類似:
# -*- coding: utf-8 -*-
# vim: tabstop=4 shiftwidth=4 softtabstop=4 expandtab
import os
import sys
import json
def get_settings(identity):
"""Settings."""
try:
from i import *
except ImportError as exc:
raise Exception('Eror importing config %s' % exc)
所以比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
爲了實現這一目標?
[這裏有一個類似的問題(http://stackoverflow.com/q/19540482/2183102),您可能會發現它的答案有用。 –