解決python配置文件類configparser.ConfigParser,插入、讀取數據,自動轉為小寫的問題

配置類

[Section1]
Key_AAA = Value[Section2]
AnotherKey = Value

默認情況下,ConfigParser會將ini配置文件中的KEY,轉為小寫。

在這里插入圖片描述

重載后配置類:

  • 繼承類從configparser.ConfigParser改為configparser.RawConfigParser
  • 重載方法optionxform,默認它會將數據轉為小寫。直接返回不轉為小寫。
class ConfigParser(configparser.RawConfigParser):def __init__(self):super().__init__()self.read(Path(BASE_PATH).joinpath('auto-api-test.ini'), encoding='utf-8')def optionxform(self, optionstr: str) -> str:"""重載此方法,數據不轉為小寫默認情況下,這個方法會轉換每次 read, get, 或 set 操作的選項名稱。默認會將名稱轉換為小寫形式。這也意味著當一個配置文件被寫入時,所有鍵都將為小寫形式。:param optionstr::return:"""return optionstr

歷史配置類ConfigParser

class ConfigParser(configparser.ConfigParser):def __init__(self):super().__init__()self.read(Path(BASE_PATH).joinpath('auto-api-test.ini'), encoding='utf-8')

普通調用RawConfigParser

官方文檔:https://docs.python.org/zh-cn/3.6/library/configparser.html#configparser.ConfigParser.optionxform

    def test_demo6(self):config = """[Section1]Key_AAA = Value[Section2]AnotherKey = Value"""custom = configparser.RawConfigParser()custom.optionxform = lambda option: optioncustom.read_string(config)print(custom['Section1'].keys())# ['Key']print(custom['Section2'].keys())# ['AnotherKey']# 讀取keyprint(custom.get('Section2', 'AnotherKey'))

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/74098.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/74098.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/74098.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

微服務的網關配置

微服務的網關配置 1. 網關路由 1.1 網關 1.1.1 存在問題 單體架構時我們只需要完成一次用戶登錄、身份校驗,就可以在所有業務中獲取到用戶信息。而微服務拆分后,每個微服務都獨立部署,這就存在一些問題:每個微服務都需要編寫身…

【硬核實戰】ETCD+AI智能調度深度整合!從架構設計到調優避坑,手把手教你打造高可用調度系統!

一、核心架構設計:ETCD如何賦能AI調度? 🔥 架構圖: [AI調度引擎] ← 實時數據 → [ETCD集群] ↓ 決策指令 [執行層(車輛/物流/交通設備)] 核心角色: ETCD:存儲調度策略、節點狀…

區間震蕩指標

區間震蕩指標的邏輯如下: 一、函數注解 1. Summation函數 功能: 計算給定價格序列Price的前Length個數據點的和,或在數據點數量超過Length時,計算滾動窗口內的價格和。 參數: Price(1):價格序列&#…

C語言-數組指針和指針數組

指針 數組指針與指針數組 數組指針 定義 概念:數組指針是指向數組的指針,本質上還是指針 特點: ①先有數組,后有指針 ②它指向的是一個完整的數組 一維數組指針 語法: 數據類型 (*指針變量名)[容量]; 案例&a…

31天Python入門——第5天:循環那些事兒

你好,我是安然無虞。 文章目錄 1. while循環1.1 while循環的嵌套1.2 補充學習:print函數 2. for循環2.1 range函數2.2 for循環2.3 continue和break以及return2.4 for循環的嵌套 3. 補充學習3.1 enumerate函數3.2 zip函數3.3 不要在遍歷列表的過程中刪除元素 循環 是…

T3 出行:網約車全棧分布式數據庫升級實踐

現今,網約車已成為民眾日常出行不可或缺的選擇。伴隨“互聯網出行”模式的快速推進,龐大的出行數據應運而生,如同構建了城市交通系統的數字神經脈絡。與此同時,對高效數據存儲與深入數據分析的需求也在持續攀升。 T3 出行于2019年…

區塊鏈技術在供應鏈管理中的應用與創新

在當今全球化的商業環境中,供應鏈管理的復雜性與日俱增。從原材料采購到最終產品交付,涉及眾多環節和參與者,信息的透明度、準確性和安全性至關重要。區塊鏈技術的出現,為供應鏈管理帶來了全新的解決方案,正在逐步改變…

藍橋每日打卡--打家劫舍4

#藍橋#JAVA#打家劫舍4 題目描述 沿街有一排連續的房屋。每間房屋內都藏有一定的現金。現在有一位小偷計劃從這些房屋中竊取現金。 由于相鄰的房屋裝有相互連通的防盜系統,所以小偷 不會竊取相鄰的房屋 。 小偷的 竊取能力 定義為他在竊取過程中能從單間房屋中竊…

c#難點整理

1.何為托管代碼,何為非托管代碼 托管代碼就是.net框架下的代碼 非托管代碼,就是非.net框架下的代碼 2.委托的關鍵知識點 將方法作為參數進行傳遞 3.多維數組 4.鋸齒數組 5.多播委托的使用 6.is運算符 相當于邏輯運算符是 7.as 起到轉換的作用 8.可…

Nginx代理本機的443到本機的8080端口

1. 準備工作 確認已生成 IP 的 HTTPS 證書 假設你已通過 mkcert 生成證書(如 192.168.199.191.pem 和 192.168.199.191-key.pem),并已安裝 CA 證書(運行過 mkcert -install)。 Nginx 安裝 ? 若未安裝 Nginx&#…

善用批處理的for命令倍增效率(附彩蛋:windows官方bug)

前言 在我們工作中,如果使用Windows系統,善用批處理命令,特別是在批量的文件處理,文本處理時能幫助我們極大地提升工作效率,起到事半功倍的效果! 但很多同學,對批處理的使用更多還停留在可以將多個command命令組合到一起執行,省去重復敲命令和等待的時間。這個其實只…

數據結構之棧的2種實現方式(順序棧+鏈棧,附帶C語言完整實現源碼)

對于邏輯關系為“一對一”的數據,除了用順序表和鏈表存儲外,還可以用棧結構存儲。 棧是一種“特殊”的線性存儲結構,它的特殊之處體現在以下兩個地方: 1、元素進棧和出棧的操作只能從一端完成,另一端是封閉的&#xf…

Camera2 API拍照失敗問題實錄:從錯誤碼到格式轉換的排坑之旅

一、問題背景 在開發基于Camera2 API的相機應用時,我們遇到了一個棘手的問題:預覽功能在所有設備上工作正常,但在某特定安卓設備上點擊拍照按鈕后無任何響應。值得注意的是,使用舊版Camera API時該設備可以正常拍照。本文記錄了完…

Jmeter舊版本如何下載

1.Jmeter最新版本下載位置 https://jmeter.apache.org/download_jmeter.cgi2.Jmeter舊版本下載位置 https://archive.apache.org/dist/jmeter/binaries穩定版本:5.4.1

css-grid布局

文章目錄 1、布局2、網格軌道3、間距Gap4、網格線5、網格別名 當一個 HTML 元素將 display 屬性設置為 grid 或 inline-grid 后,它就變成了一個網格容器,這個元素的所有直系子元素將成為網格元素。 1、布局 啟用grid布局類似與flex布局,不過g…

SolidWorks使用顯卡教程

操作步驟: 打開注冊表編輯器 按下鍵盤上的 Win R 組合鍵,輸入 regedit 并按回車鍵,打開注冊表編輯器。 導航到顯卡信息路徑 在注冊表中依次展開以下路徑: plaintext HKEY_CURRENT_USER\Software\SolidWorks\SOLIDWORKS 2021\Per…

【C++11】左值引用、右值引用、移動語義和完美轉發

🦄個人主頁:修修修也 🎏所屬專欄:C ??操作環境:Visual Studio 2022 目錄 📌左值引用和右值引用 🎏左值和左值引用 🎏右值和右值引用 📌左值引用和右值引用比較 🎏左值引用 🎏右值…

麒麟系列Linux發行版探秘

以下內容摘自《銀河麒麟操作系統進階應用》一書。 銀河麒麟操作系統(Kylin) 銀河麒麟(Kylin)操作系統是中國自主研發的一款基于Linux內核的操作系統。它的發展歷程可以追溯到2002年,最初由國防科技大學主導研發&…

【機密計算頂會解讀】11:ACAI——使用 Arm 機密計算架構保護加速器執行

導讀:本文介紹ACAI,其構建一個基于CCA的解決方案,使得機密虛擬機能夠安全地使用加速器,同時保持與現有應用程序的兼容性和安全性,能夠實現對加速器的安全訪問。 原文鏈接:ACAI: Protecting Accelerator Ex…

第一天 UnityShader的結構

Shader初學者的學習筆記 第一天 Unity Shader的結構 文章目錄 Shader初學者的學習筆記前言一、Unity Shader結構二、Unity Shader結構解析① Properties② Tags③ RenderSetup(可選狀態)④ Name⑤ [Tags]⑥ [RenderSetup]⑦ 頂點著色器和片元著色器的代碼 (Unity最聰明的孩子)…