亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python的ini配置文件你了解嗎

 更新時間:2022年03月09日 11:37:56   作者:代碼輸入中...  
這篇文章主要為大家詳細介紹了Python的ini配置文件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

INI介紹

INI是英文“初始化”(initialization)的縮寫,被用來對操作系統(tǒng)或特定程序初始化或進行參數(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文件格式

INI配置文件組成:

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

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

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

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

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

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é)果

注意: 配置文件注釋有中文的,在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)寫入到文件中。

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

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

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

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

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!      

相關(guān)文章

  • Python socket如何實現(xiàn)服務(wù)端和客戶端數(shù)據(jù)傳輸(TCP)

    Python socket如何實現(xiàn)服務(wù)端和客戶端數(shù)據(jù)傳輸(TCP)

    這篇文章主要介紹了Python socket如何實現(xiàn)服務(wù)端和客戶端數(shù)據(jù)傳輸(TCP),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Python標準庫06之子進程 (subprocess包) 詳解

    Python標準庫06之子進程 (subprocess包) 詳解

    本篇文章主要介紹了Python標準庫06之子進程 (subprocess包) 詳解,具有一定的參考價值,有興趣的同學可以了解一下。
    2016-12-12
  • Jupyter Notebook 安裝配置與使用詳解

    Jupyter Notebook 安裝配置與使用詳解

    這篇文章主要介紹了Jupyter Notebook 安裝配置與使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • python中實現(xiàn)棧的三種方法

    python中實現(xiàn)棧的三種方法

    這篇文章主要介紹了python中實現(xiàn)棧的三種方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • keras獲得某一層或者某層權(quán)重的輸出實例

    keras獲得某一層或者某層權(quán)重的輸出實例

    今天小編就為大家分享一篇keras獲得某一層或者某層權(quán)重的輸出實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Matplotlib.pyplot 三維繪圖的實現(xiàn)示例

    Matplotlib.pyplot 三維繪圖的實現(xiàn)示例

    這篇文章主要介紹了Matplotlib.pyplot 三維繪圖的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • python中迭代器(iterator)用法實例分析

    python中迭代器(iterator)用法實例分析

    這篇文章主要介紹了python中迭代器(iterator)用法,實例分析了Python中迭代器的相關(guān)使用技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • asyncio異步編程之Task對象詳解

    asyncio異步編程之Task對象詳解

    這篇文章主要為大家詳細介紹了asyncio異步編程之Task對象,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • python的字典和集合你了解嗎

    python的字典和集合你了解嗎

    章主要為大家詳細介紹了python的字典和集合,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • 詳解NumPy中的線性關(guān)系與數(shù)據(jù)修剪壓縮

    詳解NumPy中的線性關(guān)系與數(shù)據(jù)修剪壓縮

    本文將通過股票均線計算的案例來為大家講解一下NumPy中的線性關(guān)系以及數(shù)據(jù)修剪壓縮的實現(xiàn),文中的示例代碼講解詳細,感興趣的可以了解一下
    2022-05-05

最新評論