溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么用Python的ini配置文件

發(fā)布時間:2022-03-08 10:10:46 來源:億速云 閱讀:218 作者:iii 欄目:開發(fā)技術(shù)

今天小編給大家分享一下怎么用Python的ini配置文件的相關(guān)知識點,內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

INI介紹

INI是英文“初始化”(initialization)的縮寫,被用來對操作系統(tǒng)或特定程序初始化或進(jìn)行參數(shù)設(shè)置。由節(jié)(section)、

鍵(key)、值(value)構(gòu)成。在windows系統(tǒng)中有很多INI文件,例如“System32.ini”和“Win.ini”,相信大家并不陌生。Python

中操作配置文件的模塊為configparser,這個模塊可以用來解析與Windows上INI文件結(jié)構(gòu)類似的文件。

關(guān)于configparser

在python2中該模塊名為Configparser,到python3才改為configparser,該模塊是用來解析ini配置文件的解析器。

其作用就是使用模塊中的RawConfigParser()、ConfigParser()、SafeConfigParser()這三個方法(任選一種),創(chuàng)建一

個對象使用對象的方法對指定的配置文件做增刪改查操作。

本次使用的python版本為3.8,編譯器使用pycharm。

INI文件格式

怎么用Python的ini配置文件

INI配置文件組成:

  section:表示一個區(qū)塊,由方括號及方括號中的名稱組成,section的范圍為當(dāng)前方括號到下一個方括號的內(nèi)容,如“DEFAULT”,“select”,“connect_mysql”。

大小寫和空格檢查:section中的名稱在保存和獲取的時候是原樣保存和獲取的,即大小寫不一樣或者空格不一樣等都是不同的section;重復(fù)性檢查:同一個配置文件中section名稱不允許重復(fù)。

  option:表示section中的配置項,由key、分隔符和value組成的鍵值對,如“select”下的“broswer = Chrome”。

大小寫檢查:key是大小寫不敏感的,保存進(jìn)文件的時候會自動將key小寫保存,但value是大小寫敏感的;空格檢查:通過key獲取value時,會自動將文件中的key和value前后空格去掉再進(jìn)行匹配,即文件中保存為' broswer = Chrome '時,用'broswer'也可以獲取到對應(yīng)的value值'Chrome';跨多行檢查:key是不能跨行的,但是value可以跨行,只要第二行及之后行的縮進(jìn)與第一行不同即可,一直到下一個option為止;重復(fù)性檢查:和section一樣,同一section下的key是不允許重復(fù)的;分隔符:可以是等號“=”或者冒號“:”。

  注釋:行注釋用井號“#”或者分號“;”表示,特別需要注意的是必須得是行開頭(前面可以有空格),用在行中間的就不會算作是注釋了。

  DEFAULT:這是一個特殊的section,會用作其他section的option取不到值時的備用值,或者可以理解為它是一個root,其他的section都是它的子section,但不是必須提供的。

讀取配置文件

import os
import configparser

conf = configparser.ConfigParser() # 類的實例化

curpath = os.path.dirname(os.path.realpath(__file__))
path = os.path.join(curpath,'read.ini')

conf.read(path,encoding="utf-8")
value = conf['select']['url']
print("通過read方法取得的值為:",value)

value = conf.get('login','username')
print('通過get方法取得的值:',value)

value = conf.items('login') # 讀取一個section中的所有數(shù)據(jù),返回一個列表
print("通過items方法取得的值:",value)

value = conf.getint('connect_mysql','port') # 指定讀取數(shù)據(jù)的類型
print("指定數(shù)據(jù)類型取出的值:",value)

section = conf.sections() # 讀取配置文件中所有section
print(section)

運行結(jié)果

怎么用Python的ini配置文件

  注意:配置文件注釋有中文的,在python3中要加上參數(shù)encoding="utf-8",不然會報錯。

conf.read(path,encoding="utf-8")

寫入配置文件

import os
import configparser


conf = configparser.ConfigParser() # 類的實例化

curpath = os.path.dirname(os.path.realpath(__file__))
path = os.path.join(curpath,'read.ini')

conf.add_section('login') # 添加一個新的section
conf.set('login','username','admin')
conf.set('login','password','123123')   # 往配置文件寫入數(shù)據(jù)
conf.write(open(path,'a'))  # 保存數(shù)據(jù)

運行以后查看配置文件,可以看到新的section已經(jīng)寫入到文件中。

怎么用Python的ini配置文件

write寫入常用的兩種方式,第一種是刪除原文件內(nèi)容,重新寫入:w

conf.write(open(path,'w'))

第二種是在原文件基礎(chǔ)上繼續(xù)寫入內(nèi)容,追加模式寫入:a

conf.write(open(path,'a'))

以上就是“怎么用Python的ini配置文件”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI