python读取配置文件以及封装

python读取配置文件以及封装

目录

python读取配置文件以及封装

一、配置文件

1.配置文件的作用:

2.场景举例

3.python中常见的配置文件格式

4.配置文件对象 

二、配置文件的使用

三、ConfigParser模块   from configparser import ConfigParser

1.实例化ConfigPaeser对象

2.打开配置文件

3.读取配置文件中的内容get()

4.获取数字类型的数据getint(int类型)

5.获取浮点类型的数据getfloat(float类型)

6.获取布尔值getboolean(bool)

7.获取所有的配置区域sections()(块)

8. 获取配置块下的所有配置项options

9.获取配置块下的所有配置项以键值返回items

10.数据写入set方法

四、示例

1.conf.ini文件

2.读取配置文件练习

3.输出

五、配置文件读取的封装【读取,写入】

1.封装目的与需求

2.封装handleConfig.py【ps:继承父类方法ConfigParser,增加写入方法】


 

一、配置文件

1.配置文件的作用:

      所有的代码和配置都变成模块化和金额配置化,这样就提供了代码的重用性,不用每次都去修改代码内部——可配置化

2.场景举例

  • 多处地方需要同一个参数,这个时候最好是用可配置化
  • 如果是经常会变化的变量,我们也可以作这个配置——与参数化区分开

3.python中常见的配置文件格式

  • .ini
  • .conf
  • .cfg

4.配置文件对象

  • section
  • option

二、配置文件的使用

1.什么是配置文件

 

三、ConfigParser模块   from configparser import ConfigParser

1.实例化ConfigPaeser对象

          conf=ConfigPaeser.ConfigPaeser()

2.打开配置文件

        conf.read(配置文件的名or地址)

3.读取配置文件中的内容get()

  •       conf.get(配置区域/块,配置项)
  • 获取的值是字符串类型

4.获取数字类型的数据getint(int类型)

  • conf.getint(模块名,配置项)

5.获取浮点类型的数据getfloat(float类型)

  • conf.getfloat(模块名,配置项)

6.获取布尔值getboolean(bool)

  • conf.getboolean(模块名,配置项)

7.获取所有的配置区域sections()(块)

  • res1 = conf.sections()

8. 获取配置块下的所有配置项options

  • res2 = conf.options("mysql")

9.获取配置块下的所有配置项以键值返回items

  • res3 = conf.items("mysql")

10.数据写入set方法

  • 参数:第一个配置项,第二个key,第三个值
  • conf.set("mysql", "name", "hao")  # 写入到文件:注意点使用w模式去写入
  • conf.write(fp=open("conf.ini", "w"))  # 位置传参,注意到以w方式覆盖写入

 

四、示例

1.conf.ini文件

 

2.读取配置文件练习

from configparser import ConfigParser

# 第一步创建一个配置文件解析对象
conf = ConfigParser()
conf.read("conf.ini")

# 读取配置文件中的内容
# 第一个get方法
# 参数一:配置区域(块)    参数二:配置项

res = conf.get("mysql", "port")
print(res)  # 获取的值是字符串类型

# 第二个方法:getint:获取数字类型的数据(int类型)
res = conf.getint("mysql", "port")
print(res, type(res))

# 第三个方法:getfloat:获取浮点类型的数据
res = conf.getfloat("mysql", "test_data")
print(res, type(res))

# 第四个方法:getboolean:获取布尔值
res = conf.getboolean("mysql", "test")
print(res, type(res))

"""
扩展
"""
# 获取所有的配置区域(块)
res1 = conf.sections()
print(res1)

# 获取配置块下的所有配置项
res2 = conf.options("mysql")
print(res2)

# 获取配置块下的所有配置项以键值返回
res3 = conf.items("mysql")
print(res3)

"""
数据写入set方法
"""
conf.set("mysql", "name", "hao")  # 第一个配置项,第二个key,第三个值
# 写入到文件:注意点使用w模式去写入
conf.write(fp=open("conf.ini", "w"))  # 位置传参,注意到以w方式覆盖写入

3.输出

 

五、配置文件读取的封装【读取,写入】

1.封装目的与需求

1.封装的目的:
使用更简便

2.封装的需求:
简化创建配置文件解析器对象,加载配置文件(需要封装),提示(重写init方法)
读取数据(不进行封装,使用原来的方法),通过继承父类即可
简化写入数据的操作(需要封装),自定义一个write_data方法

2.封装handleConfig.py【ps:继承父类方法ConfigParser,增加写入方法】

from configparser import ConfigParser


class HandleConfig(ConfigParser):
    def __init__(self, filename):
        super().__init__()  # 调用父类init方法
        self.filename = filename
        self.read(filename)

    def write_data(self, section, options, value):
        """写入数据的方法"""
        self.set(section, options, value)
        self.write(fp=open(self.filename, "w"))


conf2 = HandleConfig("conf.ini")
conf2.sections()
host = conf2.get("mysql", "host")
print(host)

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值