1. 程式人生 > >Python---關於配置檔案的那些事情

Python---關於配置檔案的那些事情

1、配置檔案裡存放的是:程式啟動時需要對程式進行配置的資訊。

2、寫配置檔案的目的是:將一些註冊、需要更替的路徑等資訊寫進相應的程式配置檔案裡,在程式下次啟動程式時,就會自動讀取配置檔案,對程式進行配置,這樣就不用每次都填寫註冊資訊或需要更替的路徑資訊。

3、關於配置檔案的編寫方式有如下(具體權威的編寫方式還未知,看專案型別與個人愛好吧!):

Example 1:廖雪峰老師的Python教程中編寫的配置檔案是“字典”型別的;

# config_default.py

configs = {
    'db': {
        'host': '127.0.0.1',
        'port': 3306,
        'user': 'www-data',
        'password': 'www-data',
        'database': 'awesome'
    },
    'session': {
        'secret': 'AwEsOmE'
    }
}

Example 2(只是部分程式碼,主要是理解意思便可):在天池醫療AI大賽中看到的一個配置檔案的編寫使用的是一種很簡單的方式(易操作、易理解):

# config.py

# Global
DATASET_PATH = './dataset'
ANNOTATIONS_PATH = './dataset/csv'
#ANNOTATIONS_PATH = '/input/Tianchi/dataset/csv'
PREPROCESS_PATH = './preprocess'
#PREPROCESS_PATH = '/input/Tianchi/preprocess2'
LOG_BASE_PATH = './output/training_logs'
#LOG_BASE_PATH = '/output/training_logs'
MSG_LOG_FILE = '{}/log.log'.format(LOG_BASE_PATH)
TRAIN_VAL_RATIO = 0.7

# Debug
DEBUG_PLOT_WHEN_PREPROCESSING = False
DEBUG_PLOT_WHEN_GETTING_SEG_BATCH = False
DEBUG_PLOT_WHEN_EVALUATING_SEG = True
# DEBUG_IMAGE_STD = 2000.0
DEBUG_ONLY_TRAIN_FINE_CUT_BIG_TUMOR_SWITCHER = False
DEBUG_ONLY_TRAIN_COVER_RATIO_BIGGER_THAN = 0.1
DEBUG_ONLY_TRAIN_TUMOR_DIAMETER_LARGER_THAN = 12.0

4、python---configparser模組

      這個模組定義了一個ConfigParser類,該類的作用是使用配置檔案生效,配置檔案的格式和windows的INI檔案的格式相同。可以包含一個或多個節(section),每個節可以有多個引數(鍵=值)。

Note:使用配置檔案的好處是可以使程式更靈活。