python 配置檔案如何使用

zybing發表於2021-09-11

python 配置檔案如何使用

專案中使用的常量,我們把它收集在一個檔案中,這就是配置檔案。配置檔案在專案中是非常必要的,它避免了專案中檔案對常量的分散使用,讓常量可以統一修改,避免造成修改不全面的問題。

常用的配置檔案字尾是.ini、.conf、.py,當然還有使用.json、.txt的,推薦使用常用的.ini、.py,配置檔案的名字一般是config便於理解和使用。

python學習網,大量的免費,歡迎線上學習!

.ini檔案是Initialization File的縮寫,即初始化檔案,是windows的系統配置檔案所採用的儲存格式,統管windows的各項配置;.py的配置檔案,在python專案中是作為一個包匯入,嚴格來說不是配置檔案,而是擴充套件包。

下面將介紹兩類配置檔案的使用,一類是.ini、.txt,另一類是.py。

.ini、.txt配置檔案使用方法是一致的,只是一個字尾的區別,這裡以ini配置檔案來介紹,這類配置檔案我們使用內建configparser庫來使用,它可以實現配置檔案的寫入、更新、刪除、讀取等操作非常方便,建議使用這種方式。

相關推薦:《》

新建一個config.ini的配置檔案內容如下:

[mysql]
name = admin
host = 255.255.255.0
proxy = 6037
password = 123456
pool = true
time = 3

其中[]中的是section節點,該節點下的等式是option即鍵=值

config.sections()  # 獲取section節點
['mysql']
config.options('mysql')  # 獲取指定section 的options即該節點的所有鍵
['name', 'host', 'proxy', 'password', 'pool', 'time']
config.get("mysql", "name")  # 獲取指定section下的options
'admin'
config.getint("mysql", "proxy")  # 將獲取到值轉換為int型
6037
config.getboolean("mysql", "pool")  # 將獲取到值轉換為bool型
True
config.getfloat("mysql", "time")  # 將獲取到值轉換為浮點型
3.0
config.items("mysql")  # 獲取section的所用配置資訊
[('name', 'admin'), ('host', '255.255.255.0'), ('proxy', '6037'), ('password', '123456'), ('pool', 'true'), ('time', 
'3')]
config.set("mysql", "name", "root")  # 修改db_port的值為69
config.get("mysql", "name") 
'root'
config.has_section("mysql")  # 是否存在該section
True
config.has_option("mysql", "password")  # 是否存在該option
True
config.add_section("redis")  # 新增section節點
config.set("redis", "name", "redis_admin")  # 設定指定section 的options
config.items('redis')
[('name', 'redis_admin')]

常用方法如下:

# -*- coding: utf-8 -*-
import configparser
config = configparser.ConfigParser()
config.read("Config.ini", encoding="utf-8")
config.sections()  # 獲取section節點
config.options('mysql')  # 獲取指定section 的options即該節點的所有鍵
config.get("mysql", "name")  # 獲取指定section下的options
config.getint("mysql", "proxy")  # 將獲取到值轉換為int型
config.getboolean("mysql", "pool")  # 將獲取到值轉換為bool型
config.getfloat("mysql", "time")  # 將獲取到值轉換為浮點型
config.items("mysql")  # 獲取section的所用配置資訊
config.set("mysql", "name", "root")  # 修改db_port的值為69
config.has_section("mysql")  # 是否存在該section
config.has_option("mysql", "password")  # 是否存在該option
config.add_section("redis")  # 新增section節點
config.set("redis", "name", "redis_admin")  # 設定指定section 的options
config.remove_section("redis")  # 整個section下的所有內容都將刪除
config.remove_option("mysql", 'time')  # 刪除section下的指定options
config.write(open("Config", "w"))  # 儲存config

當然使用.text、.conf字尾的情況如上,使用方法也同上。

至於使用.py檔案的配置方法可以同使用一個本地包一樣,也可以像scrapy的get_project_settings方法初始化setting.py,這個就顯得很專業,後面會對其原始碼詳細分析。

.json格式配置檔案一般用來存放大量的結構化配置或者本地資料,使用較少。

最後一種是資料庫配置,將配置檔案寫到資料庫,每次程式執行前先讀取資料庫,在初始化,這種準確來說已經不再是配置,而是程式設計的方案。

python 配置檔案如何使用

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/855/viewspace-2836098/,如需轉載,請註明出處,否則將追究法律責任。

相關文章