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

如何利用python 讀取配置文件

 更新時間:2021年01月06日 09:32:05   作者:那年故鄉(xiāng)的明月  
這篇文章主要介紹了如何利用python 讀取配置文件,幫助大家更好的理解和使用python,感興趣的朋友可以了解下

引言

        在編寫接口自動化測試腳本時,有時我們需要在代碼中定義變量并給變量固定的賦值。為了統(tǒng)一管理和操作這些固定的變量,咱們一般會將這些固定的變量以一定規(guī)則配置到指定的配置文件中,后續(xù)需要用到這些變量和變量值時通過代碼讀取或者寫入數據到該配置文件即可,使用配置文件的好處就是不用在程序員寫死,可以使程序更靈活。因而對于python語言就封裝了configparser模塊,用來處理指定格式的文件(文件名稱一般為xxx.ini),配置文件的格式跟windows下的ini配置文件相似,可以包含一個或多個節(jié)(section), 每個節(jié)可以有多個參數(鍵=值)。

        注:目前python3版本操作配置文件模塊名稱變更為configparser,原有的python2版本配置文件模塊名稱變更為ConfigParser

configparser模塊功能介紹

 configparser模塊主要封裝提供了ConfigParser()類、RawConfigParser()類、SafeConfigParser()類等,如下圖導入configparser模塊,可以查看并使用模塊下已經封裝好的所有類

在configparser模塊中主要還是使用封裝的ConfigParser()類提供的方法來操作配置文件,對配置文件進行數據讀取和寫入等。

具體的該模塊python官網對其有完整的介紹:https://docs.python.org/3/library/configparser.html

配置文件的格式如下:

  • 中括號“[ ]”內包含的為section。
  • section 下面為類似于key-value 的配置內容,一般是用賦值符“=”分隔。

      示例:

 讀取配置文件及其常用讀取指定數據方法

 ConfigParser()類提供了操作讀取配置文件、讀取指定配置文件中section、section下的所有key-value等方法,具體方法使用如下:

 代碼示例:

import configparser
 
cf = configparser.ConfigParser() # 實例化
 
# read(filename) 讀取文件
filename = cf.read(r'G:\api_test\configfile.ini',encoding='utf-8')
 
# sections() 得到所有的section,以列表形式返回
sec = cf.sections()
print(sec)
 
# 得到section下的所有option
opt = cf.options("mysql")
print(opt)
 
# items 得到section的所有鍵值對
value = cf.items("mysql")
print(value)
print(dict(value)) # 轉成字典類型
 
# get(section,option) 得到section中的option值,返回string/int類型的結果
mysql_host = cf.get("mysql","host")
mysql_password = cf.getint("mysql","port")
print(mysql_host,mysql_password)

運行以上代碼輸出如下:

寫入配置文件(增刪改操作)及其提供的操作方法

 ConfigParser()類提供了寫入修改配置文件數據等方法,具體方法使用如下:

 在配置文件編輯如下信息:

 編輯如下代碼:

import configparser
 
conf = configparser.ConfigParser()
conf.read(r'G:\api_test\configfile.ini',encoding='utf-8')
 
conf.set("code", "code", "6666")  # 修改指定section 的option
conf.set("code", "age", "123")  # 增加指定section 的option
conf.has_section("code")
conf.has_option("code","age")
#conf.remove_section("test")
#conf.remove_option("test","haha")
if 'test' not in conf.sections():
    conf.add_section("test")  # 增加section
    conf.set("test", "haha", "123")  # 給新增的section 寫入option
file = open(r'G:\api_test\configfile.ini', 'w',encoding='utf-8')
conf.write(file)
file.close()

運行結束后如下:

 編輯修改配置文件記得關閉配置文件。

通過以上使用ConfigParser()類提供讀寫配置文件的相關方法,就可以比較方便的操作配置文件。but,以上向配置文件讀取和寫入數據到配置文件的代碼,并沒有進行封裝。由于經常需要使用配置文件進行數據讀取和寫入,因此建議將操作配置文件讀寫的操作封裝成公共的模塊。如操作讀取配置文件的數據的封裝,配置文件內容如下:

新建read_config.py文件,封裝的讀取配置文件的代碼,實例如下:

import configparser
import os
 
class ReadConfig():
    def __init__(self, filepath=None):
 
        root_dir = os.path.dirname(os.path.abspath('.'))        # 獲取項目主路徑
        # print("打印",root_dir)
        configpath = os.path.join(root_dir, "configfile.ini")  # 拼接路徑
        # print("得到的路徑為",configpath)
        self.cf = configparser.RawConfigParser()
        self.cf.read(configpath,encoding='utf-8')
    def get_cookie(self, param):
        value = self.cf.get("cookie", param)
        return value
    def get_sheet(self,param):
        value = self.cf.get("sheet",param)
        return value
    def get_mysql(self,param):
        value = self.cf.get("mysql",param)
        return value
    def get_code(self,param):
        value = self.cf.get("code",param)
        return value

 這樣封裝成類后,后續(xù)其他模塊需要讀取配置文件數據,就可以不用重復寫讀取配置文件的代碼,直接引入該封裝的類,并實例化對象調用類里面封裝的方法即可。

以上就是如何利用python 讀取配置文件的詳細內容,更多關于python 讀取配置文件的資料請關注腳本之家其它相關文章!

相關文章

  • Python Des加密解密如何實現軟件注冊碼機器碼

    Python Des加密解密如何實現軟件注冊碼機器碼

    這篇文章主要介紹了Python Des加密解密如何實現軟件注冊碼機器碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • 詳解Python迭代和迭代器

    詳解Python迭代和迭代器

    這篇文章主要為大家詳細介紹了Python迭代和迭代器,感興趣的小伙伴們可以參考一下
    2016-03-03
  • python測試開發(fā)django之使用supervisord?后臺啟動celery?服務(worker/beat)

    python測試開發(fā)django之使用supervisord?后臺啟動celery?服務(worker/beat)

    Supervisor是用Python開發(fā)的一個client/server服務,是Linux/Unix系統(tǒng)下的一個進程管理工具,不支持Windows系統(tǒng),這篇文章主要介紹了python測試開發(fā)django之使用supervisord?后臺啟動celery?服務(worker/beat),需要的朋友可以參考下
    2022-07-07
  • Python 內置函數進制轉換的用法(十進制轉二進制、八進制、十六進制)

    Python 內置函數進制轉換的用法(十進制轉二進制、八進制、十六進制)

    這篇文章主要介紹了使用Python內置函數:bin()、oct()、int()、hex()可實現進制轉換的一些用法,需要的朋友可以參考下
    2018-04-04
  • Python環(huán)境下安裝PyGame和PyOpenGL的方法

    Python環(huán)境下安裝PyGame和PyOpenGL的方法

    這篇文章主要介紹了Python環(huán)境下安裝PyGame和PyOpenGL的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • PyTorch中的C++擴展實現

    PyTorch中的C++擴展實現

    這篇文章主要介紹了PyTorch中的C++擴展實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • python 基于 tkinter 做個學生版的計算器

    python 基于 tkinter 做個學生版的計算器

    這篇文章主要介紹了基于Python編寫一個計算器程序,實現簡單的加減乘除和取余二元運算,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-09-09
  • Python對列表的操作知識點詳解

    Python對列表的操作知識點詳解

    在本篇文章里小編給大家整理了關于Python對列表的操作知識點總結以及實例代碼運用,需要的朋友們跟著學習下。
    2019-08-08
  • Python?模擬死鎖的常見實例詳解

    Python?模擬死鎖的常見實例詳解

    這篇文章主要為大家介紹了Python?模擬死鎖的常見實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • Python基于Gensim實現文本相似度/匹配/查重

    Python基于Gensim實現文本相似度/匹配/查重

    Gensim是基于Python語言的自然語言處理庫,用來主題建模、文本相似度等文本處理任務,下面我們就來看看如何使用Gensim實現文本相似度/匹配/查重等操作吧
    2024-03-03

最新評論