从函数返回 config.read()
Returning config.read() from function
我有一个 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'
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 并读取每个使用该配置的模块的配置文件。
我有一个 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'
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 并读取每个使用该配置的模块的配置文件。