欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python?ini配置文件示例詳解

 更新時(shí)間:2022年03月07日 15:00:57   作者:Edisonyao  
這篇文章主要給大家介紹了關(guān)于Python?ini配置文件的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

INI介紹

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

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

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

關(guān)于configparser

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

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

個(gè)對(duì)象使用對(duì)象的方法對(duì)指定的配置文件做增刪改查操作。

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

INI文件格式

INI配置文件組成:

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

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

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

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

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

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

讀取配置文件

import os
import configparser

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

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("通過(guò)read方法取得的值為:",value)

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

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

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

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

運(yùn)行結(jié)果

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

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

寫(xiě)入配置文件

import os
import configparser


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

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

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

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

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

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

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

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

總結(jié)

到此這篇關(guān)于Python ini配置文件的文章就介紹到這了,更多相關(guān)Python ini配置文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決python3在anaconda下安裝caffe失敗的問(wèn)題

    解決python3在anaconda下安裝caffe失敗的問(wèn)題

    下面小編就為大家?guī)?lái)一篇解決python3在anaconda下安裝caffe失敗的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • pytorch中[..., 0]的用法說(shuō)明

    pytorch中[..., 0]的用法說(shuō)明

    這篇文章主要介紹了pytorch中[..., 0]的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 如何利用Python保留指定位數(shù)的小數(shù)

    如何利用Python保留指定位數(shù)的小數(shù)

    這篇文章主要給大家介紹了關(guān)于如何利用Python保留指定位數(shù)的小數(shù),,代碼簡(jiǎn)單易懂,非常不錯(cuò),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • python文件寫(xiě)入實(shí)例分析

    python文件寫(xiě)入實(shí)例分析

    這篇文章主要介紹了python文件寫(xiě)入的用法,實(shí)例分析了Python文件寫(xiě)入的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • Pandas實(shí)現(xiàn)Excel文件讀取,增刪,打開(kāi),保存操作

    Pandas實(shí)現(xiàn)Excel文件讀取,增刪,打開(kāi),保存操作

    Pandas?是一種基于?NumPy?的開(kāi)源數(shù)據(jù)分析工具,用于處理和分析大量數(shù)據(jù)。本文將通過(guò)Pandas實(shí)現(xiàn)對(duì)Excel文件進(jìn)行讀取、增刪、打開(kāi)、保存等操作,需要的可以參考一下
    2023-04-04
  • Python 詳解基本語(yǔ)法_函數(shù)_返回值

    Python 詳解基本語(yǔ)法_函數(shù)_返回值

    這篇文章主要介紹了Python 詳解基本語(yǔ)法_函數(shù)_返回值的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • Python通過(guò)OpenCV的findContours獲取輪廓并切割實(shí)例

    Python通過(guò)OpenCV的findContours獲取輪廓并切割實(shí)例

    這篇文章主要介紹了Python通過(guò)OpenCV的findContours獲取輪廓并切割實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Python小實(shí)例混合使用turtle和tkinter讓小海龜互動(dòng)起來(lái)

    Python小實(shí)例混合使用turtle和tkinter讓小海龜互動(dòng)起來(lái)

    Tkinter模塊("Tk 接口")是Python的標(biāo)準(zhǔn)Tk GUI工具包的接口.Tk和Tkinter可以在大多數(shù)的Unix平臺(tái)下使用,同樣可以應(yīng)用在Windows和Macintosh系統(tǒng)里.Tk8.0的后續(xù)版本可以實(shí)現(xiàn)本地窗口風(fēng)格,并良好地運(yùn)行在絕大多數(shù)平臺(tái)中
    2021-10-10
  • Python實(shí)現(xiàn)bilibili時(shí)間長(zhǎng)度查詢的示例代碼

    Python實(shí)現(xiàn)bilibili時(shí)間長(zhǎng)度查詢的示例代碼

    這篇文章主要介紹了Python實(shí)現(xiàn)bilibili時(shí)間長(zhǎng)度查詢的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • python爬蟲(chóng)添加請(qǐng)求頭代碼實(shí)例

    python爬蟲(chóng)添加請(qǐng)求頭代碼實(shí)例

    這篇文章主要介紹了python爬蟲(chóng)添加請(qǐng)求頭代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12

最新評(píng)論