使用Python configparser模块并获取值的最佳实践?

时间:2018-05-04 09:34:48

标签: python configparser

我编写了一个简单的Python项目,我想使用configparser模块从config.ini文件中获取值。

我是这样做的:

#!/usr/bin/env python3

import configparser
import os
import sys

class ConfigReader(object):

    def __init__(self, base_path):
        self.__config_path = os.path.join(base_path, 'config', 'config.ini')
        if os.path.exists(self.__config_path):
            self.config = configparser.ConfigParser()
            self.config.read(self.__config_path)
        else:
            raise FileNotFoundError(
                'Config file is NOT present as "' + self.__config_path + '" !')

    def get_mac_chrome_driver(self):
        return self.config['mac']['chrome_driver_path']

    def get_win_chrome_driver(self):
        return self.config['win']['chrome_driver_path']

但是,现在的问题是我每次都要新建一个ConfigReader对象,然后我可以使用get_mac_chrome_driver()函数(获取config的值[' mac'] [' chrome_driver_path&# 39。])

我认为这不是最佳做法,也不是pythonic。

我可以在from utls.ConfigReader import CHROME_DRIVER_PATH之前使用它吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

阅读完Django源代码后,可能会有更多' pythonic'要在settings.py中编写参数/值,请参阅https://github.com/django/django/blob/master/django/conf/global_settings.py