Saya membuat kode proyek Python sederhana dan saya ingin menggunakan modul configparser untuk mendapatkan nilai dari file config.ini.

Saya melakukannya dengan cara 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']

Tapi, sekarang masalahnya adalah saya harus membuat objek ConfigReader baru setiap kali, maka saya bisa menggunakan fungsi get_mac_chrome_driver() (untuk mendapatkan nilai config['mac']['chrome_driver_path']).

Saya percaya ini bukan praktik terbaik dan bukan Pythonic.

Bolehkah saya menggunakannya dengan from utls.ConfigReader import CHROME_DRIVER_PATH?

Terima kasih!

2
Reed_Xia 4 Mei 2018, 12:34

1 menjawab

Jawaban Terbaik

Setelah membaca kode sumber Django, mungkin lebih 'pythonic' untuk hanya menulis parameter/nilai di settings.py, lihat https://github.com/django/django/blob/master/django/conf/global_settings.py

0
Reed_Xia 22 Maret 2019, 10:07