我有一个config.py,它读入多个配置文件。
from ConfigParser import *
def zones_config():
zones_config = ConfigParser()
zones = zones_config.sections()
zones_config.read('zones.ini'), zones
def settings_config():
settings_config = ConfigParser()
settings_config.read('settings.ini')
然后在我的database.py文件中:
from utils.config import settings_config
settings_config()
#mysqbdb config
ip = settings_config.get('mysqldb', 'ip')
username = settings_config.get('mysqldb', 'username')
password = settings_config.get('mysqldb', 'password')
database = settings_config.get('mysqldb', 'database')
但是我收到以下错误:
AttributeError: 'function' object has no attribute 'get'
答案 0 :(得分:5)
settings_config
是一个函数,.get()
是ConfigParser对象的一个方法。这应该更清楚地解释一下:
def settings_config_function():
settings_config_object = ConfigParser()
settings_config_object.read('settings.ini')
return settings_config_object
然后在database.py中:
from utils.config import settings_config_function
config_object = settings_config_function()
#mysqbdb config
ip = config_object.get('mysqldb', 'ip')
username = config_object.get('mysqldb', 'username')
password = config_object.get('mysqldb', 'password')
database = config_object.get('mysqldb', 'database')
编辑:
我还建议你打电话
settings_config_object = settings_config_function()
another_example_config_object = another_example_config_function()
一旦在config.py的底部,稍后只是
from utils.config import settings_config_object, another_example_config_object
在任何需要配置的文件中,这样您就不必实例化新的ConfigParser并读取每个使用该配置的模块的配置文件。