电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

如何利用python 讀取配置文件

瀏覽:29日期:2022-06-30 11:52:40
引言

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

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

configparser模塊功能介紹

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

如何利用python 讀取配置文件

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

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

配置文件的格式如下:

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

示例:

如何利用python 讀取配置文件

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

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

如何利用python 讀取配置文件

代碼示例:

import configparser cf = configparser.ConfigParser() # 實例化 # read(filename) 讀取文件filename = cf.read(r’G:api_testconfigfile.ini’,encoding=’utf-8’) # sections() 得到所有的section,以列表形式返回sec = cf.sections()print(sec) # 得到section下的所有optionopt = 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)

運行以上代碼輸出如下:

如何利用python 讀取配置文件

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

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

如何利用python 讀取配置文件

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

如何利用python 讀取配置文件

編輯如下代碼:

import configparser conf = configparser.ConfigParser()conf.read(r’G:api_testconfigfile.ini’,encoding=’utf-8’) conf.set('code', 'code', '6666') # 修改指定section 的optionconf.set('code', 'age', '123') # 增加指定section 的optionconf.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 寫入optionfile = open(r’G:api_testconfigfile.ini’, ’w’,encoding=’utf-8’)conf.write(file)file.close()

運行結束后如下:

如何利用python 讀取配置文件

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

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

如何利用python 讀取配置文件

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

import configparserimport 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

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

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

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 河北中仪伟创试验仪器有限公司是专业生产沥青,土工,水泥,混凝土等试验仪器的厂家,咨询电话:13373070969 | 泰国试管婴儿_泰国第三代试管婴儿_泰国试管婴儿费用/多少钱_孕泰来 | 猪I型/II型胶原-五克隆合剂-细胞冻存培养基-北京博蕾德科技发展有限公司 | 坏男孩影院-提供最新电影_动漫_综艺_电视剧_迅雷免费电影最新观看 | 新型锤式破碎机_新型圆锥式_新型颚式破碎机_反击式打沙机_锤式制砂机_青州建源机械 | 膜结构_ETFE膜结构_膜结构厂家_膜结构设计-深圳市烨兴智能空间技术有限公司 | 硫化罐-电加热蒸汽硫化罐生产厂家-山东鑫泰鑫智能装备有限公司 | 北京森语科技有限公司-模型制作专家-展览展示-沙盘模型设计制作-多媒体模型软硬件开发-三维地理信息交互沙盘 | 【官网】博莱特空压机,永磁变频空压机,螺杆空压机-欧能优 | 探鸣起名网-品牌起名-英文商标起名-公司命名-企业取名包满意 | AGV无人叉车_激光叉车AGV_仓储AGV小车_AGV无人搬运车-南昌IKV机器人有限公司[官网] | B2B网站_B2B免费发布信息网站_B2B企业贸易平台 - 企资网 | 岩棉切条机厂家_玻璃棉裁条机_水泥基保温板设备-廊坊鹏恒机械 | 粉末包装机,拆包机厂家,价格-上海强牛包装机械设备有限公司 | 医用酒精_84消毒液_碘伏消毒液等医用消毒液-漓峰消毒官网 | 机床导轨_导轨板_滚轮导轨-上海旻佑精密机械有限公司 | 铝合金线槽_铝型材加工_空调挡水板厂家-江阴炜福金属制品有限公司 | 山东艾德实业有限公司| 上海物流公司,上海货运公司,上海物流专线-优骐物流公司 | 电动高压冲洗车_价格-江苏速利达机车有限公司 | 机制砂选粉机_砂石选粉机厂家-盐城市助成粉磨科技有限公司 | 集装袋吨袋生产厂家-噸袋廠傢-塑料编织袋-纸塑复合袋-二手吨袋-太空袋-曹县建烨包装 | 玻纤土工格栅_钢塑格栅_PP焊接_单双向塑料土工格栅_复合防裂布厂家_山东大庚工程材料科技有限公司 | 正压密封性测试仪-静态发色仪-导丝头柔软性测试仪-济南恒品机电技术有限公司 | 一体化净水器_一体化净水设备_一体化水处理设备-江苏旭浩鑫环保科技有限公司 | 北京征地律师,征地拆迁律师,专业拆迁律师,北京拆迁律师,征地纠纷律师,征地诉讼律师,征地拆迁补偿,拆迁律师 - 北京凯诺律师事务所 | 香蕉筛|直线|等厚|弧形|振动筛|香蕉筛厂家-洛阳隆中重工 | 奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌 | 楼梯定制_楼梯设计施工厂家_楼梯扶手安装制作-北京凌步楼梯 | 专业广州网站建设,微信小程序开发,一物一码和NFC应用开发、物联网、外贸商城、定制系统和APP开发【致茂网络】 | 水厂污泥地磅|污泥处理地磅厂家|地磅无人值守称重系统升级改造|地磅自动称重系统维修-河南成辉电子科技有限公司 | 槽钢冲孔机,槽钢三面冲,带钢冲孔机-山东兴田阳光智能装备股份有限公司 | 武汉刮刮奖_刮刮卡印刷厂_为企业提供门票印刷_武汉合格证印刷_现金劵代金券印刷制作 - 武汉泽雅印刷有限公司 | 西安展台设计搭建_西安活动策划公司_西安会议会场布置_西安展厅设计西安旭阳展览展示 | 球盟会·(中国)官方网站| 广东西屋电气有限公司-广东西屋电气有限公司 | 江西自考网-江西自学考试网 | 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 安规_综合测试仪,电器安全性能综合测试仪,低压母线槽安规综合测试仪-青岛合众电子有限公司 | 黑龙江「京科脑康」医院-哈尔滨失眠医院_哈尔滨治疗抑郁症医院_哈尔滨精神心理医院 | 热熔胶网膜|pes热熔网膜价格|eva热熔胶膜|热熔胶膜|tpu热熔胶膜厂家-苏州惠洋胶粘制品有限公司 |