python中怎么创建配置文件,python怎么读取配置文件

a844efe8ab6f200a396fed2d2e64d757.png

configparser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节点(section), 每个节可以有多个参数(键=值)。使用的配置文件的好处就是不用把程序写死,可以使程序更灵活。

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平台,欢迎关注!

您可能感兴趣的文章:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值