本文主要分享下python中如何读取配置文件
1、 首先我们要了解什么是配置文件?
2、 配置文件就是项目使用的常量,我们把它们放在一个文件里面,一般以.ini、.conf、.xml、.yaml等结尾。比如:test.conf、product.yaml都是配置文件。
3、 配置文件的结构怎么样的呢?
4、 配置文件中一般以一个个片段,片段中的选项名和选项值组成:
5、 其中,片段的选项名相当于字典里面的key,片段的值相当于字典里面的value。
6、 那么,如何来读取python配置文件中的内容呢?
7、 我们可以使用python内置的configparser库来读取文件。
8、 首先新建一个py文件a_test_config.py。
9、 引入configparser库:from configparser import ConfigParser
10、 接着,创建一个对象:a_test = ConfigParser()
11、 选择需要读取的内容和文件格式:a_test.read('a.conf', encoding='utf-8')
12、 输入需要读取的片段内容和值:a_test.get('file1', 'a')
13、 打印输出看一下内容是否正确:print(a_test.get('file1', 'a'))
14、 也可以使用这种方式来读取:a_test['file1']['a']
15、 打印输出看一下结果:print(a_test['file1']['a'])
16、 两种方式显示都是一样的。
17、 虽然配置文件的内容是读取出来了,但是读取内容的类型是正确的吗?
18、 让我们来验证一下,使用type函数:type(a_test.get('file1', 'a')
19、 打印输出,查看一下类型:print(a_test.get('file1', 'a'), type(a_test.get('file1', 'a')))
20、 可以看到,读取的内容是1,类型是字符串,但是配置文件中的1应该是个整型,那么我们应该如何操作可以读取出正确的类型呢?
21、 可以使用getint方法来获取整型的内容:a_test.getint('file1', 'a')
22、 可以看到,当使用getint方法来读取的时候,最后显示出来的内容是1,类型是整型,满足我们的要求。
23、 我们还可以使用内置的eval函数,来把读取的内容进行转换,获取原始的类型:eval(a_test.get('file1', 'a'))
24、 可以看到,当使用eval函数之后,获取的内容也是1,类型也是整型。
25、 当想获取布尔类型的配置,可以使用getboolean方法:a_test.getboolean('file2', 'A')
26、 打印输出,查看下结果:
27、 读取浮点类型配置,可以使用getfloat方法:a_test.getfloat('file2', 'C')
28、 打印输出,查看下结果:
29、 下面是完成的代码和配置文件内容:
30、 以上,就是python配置文件的读取操作,你学会了么?