Python 之configparser读取配置操作类
一、为什么要封装
我们为什么要封装,我相信你们在项目开发过程中深有体会,那么这个读取配置工具类,又是为了什么?
为了项目参数配置的灵活性,不要改动到源码
为了信息的安全(一定层面的),体现代码重用性
二、封装读取配置文件的操作类
from configparser import ConfigParser
# 2.配置文件由哪几部分构成?
# a、sectionso区域
# b、option选择项:value值
class conf_read(object):
'''封装读取confi/ini等配置文件的操作类'''
def __init__(self,conf_name,encoding="utf-8):
# 创建ConfigParser解析对象
self.conf=ConfigParser()
self.conf_name=conf_name
self.encoding=encoding
# 读取指定配置文件
self.conf.read(self.conf_name,encoding=self.encoding)
# 读取数据:查看区域
self.sections=self.conf.sections()
self.options=[]
def get(self,section,option):
return self.conf.get(section,option)
def get_int(self,section,option):
return self.conf.getint(section,option)
def get_float(self,section,option):
return self.conf.getfloat(section,option)
def get_bool(self,section,option):
return self.conf.getboolean(section,option)
优化上面封装的读取配置操作类郑州妇科医院哪家好 http://mobile.chfk120.com/
看上面封装的读取配置操作类,每个方法都只是return简单的一句话源码,其实都只是继承配置类中最原始的方法,所以不用再重复造轮子
from configparser import ConfigParser
class conf_read(ConfigParser):
def __init__(self,conf_name,encoding="utf-8"):
# 创建ConfigParser解析对象
super().__init__()
self.conf_name=conf_name
self.encoding=encoding
# 读取指定配置文件
self.read(self.conf_name,encoding=self.encoding)
def write_data(self.conf_name)
'''往配置文件中写入数据'''
self.set(section, option, value)
self.write(open(self.file_name,"w",encoding=self.encoding))
这样看代码,是不是比上一个版本简洁多了,至于读取配置文件的方法,使用继承ConfigParser类的原始方法就好了:
conf=conf_read("common.conf",encoding="utf-8")
conf.get("section","option")
Python 之configparser读取配置操作类的更多相关文章
- 记一次用python 的ConfigParser读取配置文件编码报错
记一次用python 的ConfigParser读取配置文件编码报错 ...... raise MissingSectionHeaderError(fpname, lineno, line)Confi ...
- Python文件的读取写入操作
一.打开文件.关闭文件操作 想要读取文件或是写入文件,第一步便是打开文件,最后一步便是关闭文件.这里介绍两种打开(关闭)文件的方式: 1.open()方法 f=open(file_name[,acce ...
- python的ConfigParser读取设置配置文件
python 读写配置文件在实际应用中具有十分强大的功能,在实际的操作中也有相当简捷的操作方案,以下的文章就是对python 读写配置文件的具体方案的介绍,望你浏览完下面的文章会有所收获. pytho ...
- Python利用ConfigParser读取配置文件
http://www.2cto.com/kf/201108/100384.html #!/usr/bin/python # -*- coding:utf-8 -*- import ConfigPars ...
- 三十三、python中configparser配置文件相关操作
配置文件ini [a1]age = 18sex = 'man' [a2]age = 19sex = 'woman'name = False 1.对配置文件进行操作 import configparse ...
- python学习1-博客-DB操作类
#学习python,准备写一个博客,第一天:在别人代码基础上写一个数据库操作的db.py1)python代码 #!/usr/bin/env python # -*- coding: UTF-8 -*- ...
- Python项目读取配置的几种方式
1. 将配置写在Python文件中 配置文件(config.py 或 settings.py) 通常放置在程序源代码的目录,方便引用 配置文件 # settings.py class Config(o ...
- Python配置工具类ConfigParser使用
ConfigParser模块定义了类ConfigParser,用于实现配置文件解释器.该模块ConfigParser在Python3中,已更名为configparser. 一,函数介绍 1.读取配置文 ...
- python 提供INI配置文件的操作 ConfigParser
原文地址:http://www.cnblogs.com/pumaboyd/archive/2008/08/11/1265416.html 红色的为标注信息 +++++++++++++++++引用+++ ...
随机推荐
- i++和++1
概述:i++和++i 这个问题困扰了我很长时间,在这段时间里自己不止一次的怀疑自己的智商,难道自己对编程一点天赋都没有吗?此问题严重打击了我的自信心.......也曾苦苦暗自琢磨,也曾百度谷歌疯狂搜索 ...
- 洛谷 P1182 数列分段 Section II
洛谷 P1182 数列分段 Section II 洛谷传送门 题目描述 对于给定的一个长度为N的正整数数列A-iA−i,现要将其分成M(M≤N)M(M≤N)段,并要求每段连续,且每段和的最大值最小. ...
- SpringDataJPA对SimpleJpaRepository/JPARepository返回结果的进一步处理(大体浏览,没细看)
package com.yb.fw.core.helper; public enum Op { LIKE,// like NOTLIKE,// notlike EQ,// = NOTEQ,// != ...
- HTML基础五-starrysky页面动起来
Starrysky前端框架 链接:https://pan.baidu.com/s/1P8mPrHZjyRtzw1NWnAx-9w 提取码:cjl5 接口文档:https://www.showdoc.c ...
- Spring Cloud微服务安全实战_3-5_API安全之常见问题
1,数据校验,解决接口层的参数校验,是api安全的前线.可以用JSR303注解进行接口层面的校验 ,参考文章:https://www.ibm.com/developerworks/cn/java/j- ...
- 【转】HTTPS 如何保证数据传输的安全性?
大家都知道,在客户端与服务器数据传输的过程中,HTTP协议的传输是不安全的,也就是一般情况下HTTP是明文传输的.但HTTPS协议的数据传输是安全的,也就是说HTTPS数据的传输是经过加密的. 在客户 ...
- 数据结构or算法
其实长久以来 mrxfyxj一直纠结着数据结构和算法到底有什么区别 只要学了一个算法就在惋惜她为什么不能是数据结构 产生这种想法的原因是mrxf觉得他blog里数据结构的东西很少 而mrxf自身又有一 ...
- [LeetCode] 367. Valid Perfect Square 检验完全平方数
Given a positive integer num, write a function which returns True if num is a perfect square else Fa ...
- Linux三剑客入门
grep文本过滤工具 grep命令是Linux系统中最重要的命令之一,功能是从文本文件或管道数据流中筛选匹配的行和数据,如果再配合正则表达式,功能十分强大,是Linux运维人员必备的命令 语法: gr ...
- # Leetcode 14:Longest Common Prefix 最长公共前缀
公众号:爱写bug Write a function to find the longest common prefix string amongst an array of strings. If ...