python自动化框架 解析ini参数

现如今,python自动化越发不可收拾,下面我给大家说下关于自动化框架之全局变量的设计,我们可以采用ini文件存储易变参数,然后接口与ini交互,最后呈现于脚本中,这样当产品或者版本更换时候,就仅仅更改ini参数即可。话不多说,代码敬上;

	#-*-coding:utf-8 -*-
	[device1]
	app_path=....
	app_activity=...
	app_version=...

	[main_page]
	my=....
	skill=...
	about=...

然后运用python的configparser库进行解析;

import configparser,codecs,chardet,re,os,sys
from io import StringIO

class ReadIni:
	def __init__(self):
		self.file_path=.....               #指定ini文件路径
		self.data=self.read_ini()
	
	#去掉配置文件开头的BOM字节	
	def remove_BOM(self):   
		with open(self.file_path,encoding='utf-8') as f:
			content=f.read()
			content=re.sub(r"\xfe\xff","",content)
			content=re.sub(r"\xff\xfe","",content)
			content=re.sub(r"\xef\xbb\xbf","",content)
		with open(self.file_path,'\w',encoding='utf-8') as f2:
			f2.write(content)
			f2.close()
			
	def read_ini(self):
		self.remove_BOM()
		read_ini=configparser.ConfigParser()
		read_ini.read(self,file_path,encoding='utf-8')
		return read_ini
		
	#通过key获取对应的value
	def get_value(self,key,section)
		try:
			value=self.data.get(section,key)
		except:
			print("ini文件中并未存在应有的参数,请检查key和section的正确性!")
			value=None
		return value	

key,section就对应ini中的app_path,device1的关系
这样value就是咱们要用到的值了,然后封装进你想实现的接口即可!

你可能感兴趣的:(代码开发,框架设计)