最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python接口自動(dòng)化之ConfigParser配置文件的使用詳解

 更新時(shí)間:2020年08月03日 10:28:17   作者:miki_peng  
這篇文章主要介紹了python接口自動(dòng)化之ConfigParser配置文件的使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

前言:目前我們使用的絕大多數(shù)計(jì)算機(jī)程序,無(wú)論是辦公軟件,瀏覽器,甚至游戲、視頻都是通過(guò)菜單界面系統(tǒng)配置的,它幾乎成了我們使用機(jī)器的默認(rèn)方式。而在python中,也有這樣的一個(gè)配置模塊可以把代碼可配置化。

什么是配置文件

​這里的配置文件不同于我們平常所見(jiàn)的可視化的菜單界面,它是像代碼形式的,如下示例:

​❓為什么要做配置文件?

​✔️讓代碼和配置都變成可模塊化可配置化,提高代碼的重用性,那什么時(shí)候把它變成可配置化呢?多處地方都用到一個(gè)參數(shù)時(shí),經(jīng)常會(huì)變化的參數(shù)等,都可以可配置化,我們只需要在配置文件中進(jìn)行修改即可,不需要在代碼中一處處的重復(fù)修改。

​Python提供了一個(gè)ConfigParser模塊,它實(shí)現(xiàn)了一種基本的配置文件解析器語(yǔ)言,該語(yǔ)言提供的結(jié)構(gòu)類(lèi)似于.ini文件中的結(jié)構(gòu)。常見(jiàn)的配置文件格式有.ini.conf.cfg,配置文件由兩個(gè)文件對(duì)象組成:section和option,一個(gè)配置文件里可以包含一個(gè)或多個(gè)節(jié)(section),每個(gè)節(jié)可以有多個(gè)option(鍵=值),如上圖所標(biāo)示。

讀取配置文件

​它與file文件一樣,需要先打開(kāi)才能進(jìn)行讀取操作,常用方法如下:

  • read(filename):直接讀取配置文件內(nèi)容
  • sections():以列表的形式返回所有section
  • options(section):得到對(duì)應(yīng)section下的所有option
  • items(section):得到對(duì)應(yīng)section下的所有鍵值對(duì)
  • get(section,option):得到對(duì)應(yīng)的section中的option的值,并以string的類(lèi)型返回
  • getint(section,option):得到對(duì)應(yīng)的section中的option的值,并以int的類(lèi)型返回

​以上圖中的conf.ini為例進(jìn)行讀取操作:

from configparser import ConfigParser

# 創(chuàng)建一個(gè)操作配置文件的對(duì)象(文件解析對(duì)象)
conf = ConfigParser()

# 讀取配置文件
conf.read("conf.ini", encoding="utf8")
# 獲取所有section
res2 = conf.sections()
print("這是res2:{}\n".format(res2))
# 獲取對(duì)應(yīng)section下的option
res3 = conf.options("logging")
print("這是res3:{}\n".format(res3))
# 獲取對(duì)應(yīng)section下的所有鍵值對(duì)
res4 = conf.items("logging")
print("這是res4:{}\n".format(res4))
# get方法:讀取出來(lái)的內(nèi)容,都是字符串
res5 = conf.get("logging", "level")
print("這是res5:{}".format(res5), type(res5))
# getint方法:讀取出來(lái)的內(nèi)容,都是int類(lèi)型
res6 = conf.getint("mysql", "port")
print("\n這是res6:{}".format(res6), type(res6))

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

C:\software\python\python.exe D:/learn/test.py
這是res2:['logging', 'mysql']

這是res3:['level', 'f_level', 's_level']

這是res4:[('level', 'DEBUG'), ('f_level', 'DEBUG'), ('s_level', 'ERROR')]

這是res5:DEBUG <class 'str'>

這是res6:3306 <class 'int'>

Process finished with exit code 0

​除了可以讀取str、int類(lèi)型以外,還支持float、boolean,這里就不再舉例。

​🎈 小知識(shí):

  • 鍵值對(duì)可用=也可用:進(jìn)行分隔
  • section名稱(chēng)是區(qū)分大小寫(xiě)的,而option不區(qū)分
  • 鍵值對(duì)中,首尾若有空白符會(huì)被去掉
  • 配置文件中也可以寫(xiě)入注釋?zhuān)⑨屢?code>#或者;為前綴

寫(xiě)入配置文件

​基本的寫(xiě)入方法如下:

add_section(section) :添加一個(gè)新的sectionset( section, option, value) :對(duì)section中的option進(jìn)行設(shè)置,需要調(diào)用write將內(nèi)容寫(xiě)入配置文件

from configparser import ConfigParser

# 創(chuàng)建一個(gè)操作配置文件的對(duì)象(文件解析對(duì)象)
conf = ConfigParser()
conf.add_section('test')
conf.set('test', 'name', 'Amy')
conf.write(open('conf.ini', "a", encoding="utf-8"))

​運(yùn)行后查看conf.ini文件里面的內(nèi)容:

ConfigParser的封裝

​一次封裝,一勞永逸,之后直接調(diào)用即可,封裝內(nèi)容按需。

from configparser import ConfigParser


class MyConf:

  def __init__(self, filename, encoding="utf8"):
    self.filename = filename
    self.encoding = encoding
    self.conf = ConfigParser()
    self.conf.read(filename, encoding)

  def get_str(self, section, option):
    return self.conf.get(section, option)

  def get_int(self, section, option):
    return self.conf.getint(section, option)

  def get_float(self, section, option):
    return self.conf.getfloat(section, option)

  def get_bool(self, section, option):

  def write_data(self, section, option, value):
    self.conf.set(section, option, value)
    self.conf.write(open(self.filename, "a", encoding=self.encoding))
    

if __name__ == '__main__':
  print(conf.get_str("conf.ini", "test","name"))	# 測(cè)試

總結(jié)

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

相關(guān)文章

  • opencv鎖定鼠標(biāo)定位的實(shí)現(xiàn)

    opencv鎖定鼠標(biāo)定位的實(shí)現(xiàn)

    本文主要介紹了opencv鎖定鼠標(biāo)定位的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python關(guān)于OS文件目錄處理的實(shí)例分享

    Python關(guān)于OS文件目錄處理的實(shí)例分享

    在本篇文章里小編給大家整理的是一篇關(guān)于Python關(guān)于OS文件目錄處理的實(shí)例內(nèi)容,有興趣的朋友們可以學(xué)一下。
    2021-05-05
  • python中的selenium入門(mén)超詳細(xì)教程

    python中的selenium入門(mén)超詳細(xì)教程

    這篇文章主要介紹了python中的selenium入門(mén)超詳細(xì)教程,本文是在python環(huán)境下使用selenium,使用瀏覽器是Chrome,系統(tǒng)是win10系統(tǒng),需要的朋友可以參考下
    2023-11-11
  • django之用戶、用戶組及權(quán)限設(shè)置方式

    django之用戶、用戶組及權(quán)限設(shè)置方式

    這篇文章主要介紹了django之用戶、用戶組及權(quán)限設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Python中集合類(lèi)型(set)學(xué)習(xí)小結(jié)

    Python中集合類(lèi)型(set)學(xué)習(xí)小結(jié)

    這篇文章主要介紹了Python中集合類(lèi)型(set)學(xué)習(xí)小結(jié),本文講解了set的初始化、運(yùn)算操作、基本方法等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • python中序列的逆序方式

    python中序列的逆序方式

    這篇文章主要介紹了python中序列的逆序方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python-leetcode求區(qū)間[M,N]內(nèi)的所有素?cái)?shù)的個(gè)數(shù)實(shí)現(xiàn)方式

    python-leetcode求區(qū)間[M,N]內(nèi)的所有素?cái)?shù)的個(gè)數(shù)實(shí)現(xiàn)方式

    這篇文章主要介紹了python-leetcode求區(qū)間[M,N]內(nèi)的所有素?cái)?shù)的個(gè)數(shù)實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • python基于pexpect庫(kù)自動(dòng)獲取日志信息

    python基于pexpect庫(kù)自動(dòng)獲取日志信息

    這篇文章主要介紹了python基于pexpect庫(kù)自動(dòng)獲取日志信息的方法,幫助大家更好的利用python高效辦公,感興趣的朋友可以了解下
    2021-02-02
  • python中的sys模塊和os模塊

    python中的sys模塊和os模塊

    這篇文章主要介紹了python中的sys模塊和os模塊,sys模塊提供對(duì)解釋器使用或維護(hù)的一些變量的訪問(wèn),以及與解釋器強(qiáng)烈交互的函數(shù),os模塊提供了多數(shù)操作系統(tǒng)的功能接口函數(shù),下文更多相關(guān)內(nèi)容需要的小伙伴可以參考一下
    2022-03-03
  • Python 隱藏輸入密碼時(shí)屏幕回顯的實(shí)例

    Python 隱藏輸入密碼時(shí)屏幕回顯的實(shí)例

    今天小編就為大家分享一篇Python 隱藏輸入密碼時(shí)屏幕回顯的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02

最新評(píng)論

徐州市| 弋阳县| 黄陵县| 明溪县| 霍城县| 香河县| 太仆寺旗| 沽源县| 宁德市| 山阴县| 天台县| 古浪县| 桂东县| 桐乡市| 开封市| 乌兰察布市| 宣恩县| 乌海市| 德州市| 青龙| 安化县| 达拉特旗| 奇台县| 梨树县| 临汾市| 宝清县| 泸溪县| 阳东县| 江口县| 南投县| 邢台市| 松阳县| 临朐县| 华容县| 洞口县| 习水县| 蓝山县| 平阳县| 东辽县| 华容县| 张北县|