Python configparser模塊封裝及構(gòu)造配置文件
1.configparser模塊簡(jiǎn)介
使用配置文件來(lái)靈活的配置一些參數(shù)是一件很常見的事情,配置文件的解析并不復(fù)雜,在python里更是如此,在官方發(fā)布的庫(kù)中就包含有做這件事情的庫(kù),那就是configParser
configParser解析的配置文件的格式比較象ini的配置文件格式,就是文件中由多個(gè)section構(gòu)成,每個(gè)section下又有多個(gè)配置項(xiàng)
2.看一下configparser生成的配置文件的格式
ini配置文件格式如下:
這里是注釋
[log] log_path = base_dir/OutPut/log/ [image] img_path = base_dir/OutPut/image/ [report] report_path = base_dir/OutPut/report/ [test_case] test_case_path = base_dir/TestData/case.xlsx
3.讀取文件內(nèi)容
import configparser import os import sys BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) if sys.platform == "win32": ENV_CONF_DIR = os.path.join(BASE_DIR, 'Common/conf/env_config.ini').replace('/', '\\') else: ENV_CONF_DIR = os.path.join(BASE_DIR, 'Common/conf/env_config.ini') class Config(object): def __init__(self, path): self.path = path #配置文件名 self.cf = configparser.ConfigParser() #創(chuàng)建一個(gè)配置文件對(duì)象 self.cf.read(self.path, encoding='utf-8') # 調(diào)用配置文件對(duì)象的讀取方法,并傳入一個(gè)配置文件名 def get(self, field, key): # 獲取字符串類型的選項(xiàng)值 result = "" try: result = self.cf.get(field, key) except: result = "" return result def set(self, field, key, value): try: self.cf.set(field, key, value) self.cf.write(open(self.path, 'w'))#創(chuàng)建一個(gè)配置文件并將獲取到的配置信息使用配置文件對(duì)象的寫入方法進(jìn)行寫入 except: return False return True def r_config(config_file_path, field, key): rf = configparser.ConfigParser() try: rf.read(config_file_path, encoding='utf-8') if sys.platform == "win32": result = rf.get(field, key).replace('base_dir', str(BASE_DIR)).replace('/', '\\') else: result = rf.get(field, key).replace('base_dir', str(BASE_DIR)) except: sys.exit(1) return result def w_config(config_file_path, field, key, value): wf = configparser.ConfigParser() try: wf.read(config_file_path) wf.set(field, key, value) wf.write(open(config_file_path, 'w')) except: sys.exit(1) return True if __name__ == '__main__': print(r_config(ENV_CONF_DIR, 'log', 'log_path')) print(r_config(ENV_CONF_DIR, 'DB', 'database'))
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
一文搞懂Python中pandas透視表pivot_table功能
透視表是一種可以對(duì)數(shù)據(jù)動(dòng)態(tài)排布并且分類匯總的表格格式?;蛟S大多數(shù)人都在Excel使用過(guò)數(shù)據(jù)透視表,也體會(huì)到它的強(qiáng)大功能,而在pandas中它被稱作pivot_table,今天通過(guò)本文給大家介紹Python中pandas透視表pivot_table功能,感興趣的朋友一起看看吧2021-11-11使用python腳本實(shí)現(xiàn)Redis未授權(quán)訪問(wèn)檢測(cè)
Redis未授權(quán)訪問(wèn)漏洞是一種安全漏洞,可能導(dǎo)致未經(jīng)授權(quán)的用戶或攻擊者訪問(wèn)Redis數(shù)據(jù)庫(kù),甚至修改或刪除其中的數(shù)據(jù),這種漏洞通常發(fā)生在管理員未正確配置Redis實(shí)例的訪問(wèn)控制和認(rèn)證機(jī)制時(shí),本文介紹了python腳本實(shí)現(xiàn)Redis未授權(quán)訪問(wèn)漏洞利用,需要的朋友可以參考下2024-10-10Python實(shí)現(xiàn)批量合并多個(gè)txt文件并生成Excel文件
在數(shù)據(jù)處理中,有時(shí)會(huì)面臨合并多個(gè)文本文件的任務(wù),本文將詳細(xì)介紹如何使用Python批量合并多個(gè)txt文件,并將其生成為一個(gè)Excel文件,需要的可以參考下2023-12-12Pytorch+PyG實(shí)現(xiàn)GraphSAGE過(guò)程示例詳解
這篇文章主要為大家介紹了Pytorch+PyG實(shí)現(xiàn)GraphSAGE過(guò)程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04python使用zip將list轉(zhuǎn)為json的方法
今天小編就為大家分享一篇python使用zip將list轉(zhuǎn)為json的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12