导语:
本文主要介绍了关于python怎么读取配置文件的相关知识,包括python init函数,以及python读取本地文件这些编程知识,希望对大家有参考作用。
configparser 模块在 python 中用于读取配置文件。配置文件的格式类似于windows下的ini配置文件。它可以包含一个或多个节点(节),每个节可以有多个参数(key=value)。使用配置文件的好处是程序不需要写死,可以让程序更加灵活。
1、创建配置文件
一般在config包下创建配置文件,配置文件最好是.ini格式。示例如下:
[LoginElement] #节点(section)
user_name=id>logInName #其中id决定了通过哪种方式进行定位
user_password=id>password
code_image=id>verifyCode
code_text=id>verifyCodeInput
submit=id>submitForm
[mysql] #节点(section)
host=id>127.0.0.1
port=id>3306
user=id>root
password=id>123456
2、读取配置文件
cf=configparser.ConfigParser() #创建对象
cf.read('D:\liantuo\seleniumTest\config\LocalElement.ini',encoding='UTF-8') #读取配置文件,直接读取ini文件内容
print(cf.sections()) #获取ini文件内所有的section(节点),以列表形式返回
print(cf.options("LoginElement")) #获取指定sections下所有options (key),以列表形式返回
print(cf.items('LoginElement')) #获取指定section下所有的键值对(key-value)
print(cf.get('LoginElement','user_name')) #获取section中option的值,返回为string类型
getint(section,option) #返回int类型
getfloat(section, option) #返回float类型
getboolean(section,option) #返回boolen类型
*注意:读取配置文件时参数添加encoding='UTF-8' ,防止(UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 15: illegal multibyte sequence)
对应输出
['LoginElement', 'mysql']
['user_name', 'user_password', 'code_image', 'code_text', 'submit']
[('user_name', 'id>logInName'), ('user_password', 'id>password'), ('code_image', 'id>verifyCode'), ('code_text',
'id>verifyCodeInput'), ('submit', 'id>submitForm')]
id>logInName
3、重构封装
class ReadIni(object):
# 构造函数
def __init__(self,file_name=None,node=None):
'''
:param file_name:配置文件地址
:param node: 节点名
'''
#容错处理
if file_name == None:
#默认地址
file_name = 'D:\liantuo\seleniumTest\config\LocalElement.ini'
else:
self.file_name=file_name
if node == None:
#默认节点
self.node = "LoginElement"
else:
self.node = node
self.cf = self.load_ini(file_name)
#加载文件
def load_ini(self,file_name):
cf = configparser.ConfigParser()
cf.read(file_name,encoding='utf-8')
return cf
#获取value得值
def get_value(self,key):
data = self.cf.get(self.node,key)
return data
#主入口,相当于java的main方法
if __name__ == '__main__':
#自定义
# path=r'E:\Pythonx\seleniumTest\config\testIni.ini' #注意r
# read_init = ReadIni(file_name=path,node='testa') #传入新自定义配置文件地址、节点
# print(read_init.get_value('ji')) #获取value值
#默认
read_init = ReadIni() #默认配置文件地址、节点
print(read_init.get_value('user_name')) #传入key值,获取value
python学习网,免费的在线学习
,欢迎关注!
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何用python求圆的面积08/14
- ♥ python有哪些字符串查找类方法10/15
- ♥ python有哪些功能08/12
- ♥ python控制语句的两类12/23
- ♥ 如何在python解释器中包装代码11/06
- ♥ 如何使函数在python中不返回结果09/27
内容反馈