Python里configparser用法 配置文件解析模塊configparser實戰

python的configparser模塊用于讀寫.ini格式配置文件,適合基礎配置管理。它支持節(section)和鍵值對結構,其中default節可被繼承;使用configparser實例讀取文件,并通過getint()、getboolean()等方法獲取特定類型值;寫入配置需手動打開文件并調用write()方法;此外,支持變量插值、保留大小寫(optionxform=str)及設置fallback避免keyerror,適用于小型項目或腳本工具

python中處理配置文件時,configparser是一個非常實用的模塊。它能讀取和寫入.ini格式的配置文件,結構清晰、使用簡單,適合做程序的基礎配置管理。


配置文件基本格式

configparser處理的是類似 .ini 文件的內容,這種文件通常由多個“節(section)”組成,每個節下面包含若干鍵值對

[DEFAULT] host = localhost port = 5432  [database] user = admin password = secret

上面的例子中,[DEFAULT] 是一個特殊節,它的配置會被其他所有節繼承。比如,如果某個節沒有定義 host,就會去 DEFAULT 中找。


基本用法:讀取配置

要讀取配置文件,首先需要創建一個 ConfigParser 實例,然后調用 read() 方法加載文件:

立即學習Python免費學習筆記(深入)”;

import configparser  config = configparser.ConfigParser() config.read('config.ini')  print(config['database']['host'])  # 輸出: localhost print(config['database']['user'])  # 輸出: admin

需要注意幾點:

  • 節名和鍵名是大小寫敏感的(默認情況下)
  • 所有值都會被當作字符串返回
  • 可以用 getint()、getboolean() 等方法獲取特定類型

例如:

port = config.getint('database', 'port') is_debug = config.getboolean('DEFAULT', 'debug', fallback=False)

寫入或修改配置

除了讀取,configparser 還可以用來生成或修改配置文件:

config = configparser.ConfigParser()  config['DEFAULT'] = {     'host': 'localhost',     'port': '5432' }  config['database'] = {} config['database']['user'] = 'admin' config['database']['password'] = 'secret'  with open('config.ini', 'w') as f:     config.write(f)

這樣就生成了一個新的配置文件。注意:

  • 添加節的時候要用字典方式賦值或者使用 add_section() 方法
  • 寫入文件時必須手動打開并調用 write()
  • 不支持注釋保存,原有注釋會被丟棄

一些容易忽略的細節

  1. 變量插值
    configparser 支持變量引用,格式是 ${section:key}:

    [paths] home = /home/user log_dir = ${home}/logs

    在代碼中可以直接讀取 log_dir,會自動替換為完整路徑。

  2. 區分大小寫問題
    默認不區分大小寫,可以通過設置 optionxform=str 來保留原始大小寫:

    config = configparser.ConfigParser() config.optionxform = str  # 保持鍵名大小寫不變
  3. fallback 參數
    獲取值時推薦使用 get() 并提供 fallback,避免 KeyError:

    user = config.get('database', 'username', fallback='guest')

基本上就這些。configparser 的功能不算復雜,但很實用,尤其適合小型項目或腳本工具的配置管理。只要注意變量插值、類型轉換和大小寫這幾個點,就能用得很順手。

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享