1.configparser模块简介
使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是configParser
configParser解析的配置文件的格式比较象ini的配置文件格式,就是文件中由多个section构成,每个section下又有多个配置项
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.读取文件内容
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() #创建一个配置文件对象
self.cf.read(self.path, encoding='utf-8') # 调用配置文件对象的读取方法,并传入一个配置文件名
def get(self, field, key): # 获取字符串类型的选项值
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'))#创建一个配置文件并将获取到的配置信息使用配置文件对象的写入方法进行写入
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'))
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“Python configparser模块封装及构造配置文件”评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新动态
2025年10月28日
2025年10月28日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]
