當前位置:成語大全網 - 書法字典 - Python configparser如何編寫默認值

Python configparser如何編寫默認值

以這個非常簡單的典型配置文件為例:

[默認]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 ”,這不會影響配置的正確讀取和寫入。