程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python接口自動化之ConfigParser配置文件的使用

編輯:Python

前言

小伙伴們好久不見呀,筆者最近因為工作原因,一直沒有什麼時間來給大家帶來新的文章,今天呢筆者想和大家來唠唠python接口自動化中 ConfigParser配置文件的使用,廢話筆者就不多說了,直接看正文。

 

一、什麼是配置文件

目前我們使用的絕大多數計算機程序,無論是辦公軟件,浏覽器,甚至游戲、視頻都是通過菜單界面系統配置的,它幾乎成了我們使用機器的默認方式。而在python中,也有這樣的一個配置模塊可以把代碼可配置化。

這裡的配置文件不同於我們平常所見的可視化的菜單界面,它是像代碼形式的,如下示例:

​ 二、為什麼要做配置文件?

讓代碼和配置都變成可模塊化可配置化,提高代碼的重用性,那什麼時候把它變成可配置化呢?多處地方都用到一個參數時,經常會變化的參數等,都可以可配置化,我們只需要在配置文件中進行修改即可,不需要在代碼中一處處的重復修改。

​ Python提供了一個ConfigParser模塊,它實現了一種基本的配置文件解析器語言,該語言提供的結構類似於.ini文件中的結構。常見的配置文件格式有.ini.conf.cfg,配置文件由兩個文件對象組成:section和option,一個配置文件裡可以包含一個或多個節(section),每個節可以有多個option(鍵=值),如上圖所標示。

三、讀取配置文件

它與file文件一樣,需要先打開才能進行讀取操作,常用方法如下:

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

​ 以上圖中的conf.ini為例進行讀取操作:

from configparser import ConfigParser
# 創建一個操作配置文件的對象(文件解析對象)
conf = ConfigParser()
# 讀取配置文件
conf.read("conf.ini", encoding="utf8")
# 獲取所有section
res2 = conf.sections()
print("這是res2:{}\n".format(res2))
# 獲取對應section下的option
res3 = conf.options("logging")
print("這是res3:{}\n".format(res3))
# 獲取對應section下的所有鍵值對
res4 = conf.items("logging")
print("這是res4:{}\n".format(res4))
# get方法:讀取出來的內容,都是字符串
res5 = conf.get("logging", "level")
print("這是res5:{}".format(res5), type(res5))
# getint方法:讀取出來的內容,都是int類型
res6 = conf.getint("mysql", "port")
print("\n這是res6:{}".format(res6), type(res6))

​ 運行結果:

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類型以外,還支持float、boolean,這裡就不再舉例。

​  小知識:

  • 鍵值對可用=也可用:進行分隔
  • section名稱是區分大小寫的,而option不區分
  • 鍵值對中,首尾若有空白符會被去掉
  • 配置文件中也可以寫入注釋,注釋以#或者;為前綴

四、寫入配置文件

​ 基本的寫入方法如下:

  • add_section(section) :添加一個新的section
  • set( section, option, value):對section中的option進行設置,需要調用write將內容寫入配置文件
from configparser import ConfigParser
# 創建一個操作配置文件的對象(文件解析對象)
conf = ConfigParser()
conf.add_section('test')
conf.set('test', 'name', 'Amy')
conf.write(open('conf.ini', "a", encoding="utf-8"))

​ 運行後查看conf.ini文件裡面的內容:

五、ConfigParser的封裝

​ 凡是需要重復使用的,我們都可以對它進行二次封裝,寫成我們自己的版本,還可以在封裝過程中加入我們想要的內容,使用的時候直接調用即可。

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):
pass
def get_bool(self, section, option):
pass
def write_data(self, section, option, value):
pass

總結

今天的文章就到這裡喲,喜歡的小伙伴記得點贊收藏評論加關注喲,為了慶祝筆者終於可以休息了,我給各位小伙伴准備了一份全套的軟件測試學習資料,由於平台有限制所以資料不能放上來,有需要的可以私我關鍵字“資料”哈。

 


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved