[默認]ServerAliveInterval = 45 compression = yes compression level = 9 forwardd x 11 = yes[bit bucket . org]User = Hg[top secret . server . com]Port = 50022 forwards x 11 = no 123456789101112
1和config解析器的操作類似於dict,數據訪問方法基本相同。
& gt& gt導入configparser & gt& gt& gtconfig = configparserconfig parser()& gt;& gt& gtconfig.sections()
[]& gt;& gt& gtconfig.read('example.ini ')
[' example . ini ']& gt;& gt& gtconfig.sections()
['bitbucket.org ',' top secret . server . com ']& gt;& gt& gtconfigTrue & gt中的“bitbucket.org”& gt& gtconfigFalse >中的“bytebong.com”& gt& gtconfig[' bit bucket . org '][' User ']' Hg ' & gt;& gt& gtconfig['默認']['壓縮']'是' & gt& gt& gttop secret = config[' top secret . server . com ']& gt;& gt& gttop secret[' forward x 11 ']' no ' & gt;& gt& gttop secret[' Port ']' 50022 ' & gt;& gt& gt對於配置中的鍵['bitbucket.org']: print(key)
...
用戶
壓縮水平
serveraliveinterval
壓縮
forward x 11 & gt;& gt& gtconfig[' bit bucket . org '][' forward x 11 ']'是' 1011121314151516161616171865438
2.默認配置項[DEFAULT]部分的默認參數將作用於其他部分。
3.數據類型是什麽?
Config解析器不會猜測或自動分析config.ini參數的數據類型,但會根據字符串類型存儲它。如果需要作為其他數據類型讀取,則需要定制。?
特殊布爾值:對於常見的布爾值' yes'/'no ',' on'/'off ',' true'/'false '和' 1'/'0 ',提供了getboolean()方法。
4.如何獲取參數值?Get()?
使用get()方法獲取每個參數項的配置值。?
如果常規部分中的參數也在[DEFAULT]中設置,則get()將達到[DEFAULT]中的參數值。
5.參數分隔符可以是“=”或“:”(默認)。
6.您可以使用“#”或“;”(默認)添加註釋或解釋。
[簡單值]
鍵=值
密鑰中的空格=允許
值中的空格=也允許
分隔符周圍的空格=顯然
您還可以使用:將鍵與值分隔開
[所有值都是字符串]
像這樣的值:1000000或者這樣的:3.14159265359它們被當作數字嗎?:沒有
整數、浮點數和布爾值被保存為:字符串
可以使用API直接獲取轉換後的值:true[多行值]
合唱:我是壹個伐木工人,我沒事
我整夜睡覺,整天工作[沒有價值觀]
沒有值的關鍵字
此處的空字符串值=
【可以用評論】#像這樣;或者這個#默認只在空行中。#行內註釋可能是有害的,因為它們阻止用戶#將分隔符用作值的壹部分。#話雖如此,這是可以定制的。
[部分可以縮進]
can_values_be_as_well = True
這意味著任何特殊的東西都是假的嗎
目的=可讀性格式
multiline_values = are
處理得很好
只要它們是縮進的
比值的第壹行更深#我提到過我們也可以縮進註釋嗎?1234567891011121314151617181920212223242526272829303132333435363738394041
7.寫入配置
常見做法:
config.write(open('example.ini ',' w'))1
合理做法:
使用open('example.ini ',' w ')作為配置文件:
config.write(配置文件)12
需要註意的要點:
ConfigParser將自動篩選出“#”或“;”當得到。註釋行(內容);?
正常情況下,我們用' # '手動標註暫時不需要的配置。問題是Configparser在連線時的行為方式與file對象相同。如果獲得帶' # '註釋的配置,然後連接到conf,則' # '的配置將會丟失。?
那麽就需要壹個政策或規則。需要手動編輯配置嗎?處理原生文本仍然是壹件復雜的事情。我的建議是停止它,避免將壹些重要的配置暴露給用戶進行編輯,記住行內註釋和節註釋。?
有壹個比較簡單的方法:?
對於單行上的代碼,您可以將“#”、“在閱讀之前。換成其他字符比如' @ ',或者' '(bat等其他語言使用的註釋比較好理解),使用allow_no_value選項,這樣註釋就會保存為壹個配置,然後就可以放“#”和“;”加工後。換回來。
ConfigParser寫入後,如果有大寫字母,配置文本將更改為小寫字母“PRODUCT ”,這不會影響配置的正確讀取和寫入。