python 配置文件解析_Python中的配置文件解析器(configparser)

Python标准库中的configparser模块定义了用于读取和写入Microsoft Windows OS使用的配置文件的功能。此类文件通常具有.INI扩展名。

INI文件由多个节组成,每个节均由[section]标头引导。在方括号之间,我们可以输入节的名称。该节后面是键/值条目,以=或:字符分隔。它可能包含以#或;为前缀的注释。符号。INI文件示例如下所示-[Settings]

# Set detailed log for additional debugging info

DetailedLog=1

RunStatus=1

StatusPort=6090

StatusRefresh=10

Archive=1

# Sets the location of the MV_FTP log file

LogFile=/opt/ecs/mvuser/MV_IPTel/log/MV_IPTel.log

Version=0.9 Build 4

ServerName=Unknown

[FTP]

# set the FTP server active

RunFTP=1

# defines the FTP control port

FTPPort=21

# Sets the location of the FTP data directory

FTPDir=/opt/ecs/mvuser/MV_IPTel/data/FTPdata

# set the admin Name

UserName=admin

# set the Password

Password=admin

configparser模块具有ConfigParser类。它负责解析配置文件列表,并管理解析的数据库。

ConfigParser的对象通过以下语句创建-parser = configparser.ConfigParser()

在此类中定义了以下方法-section()返回所有配置节名称。

has_section()返回给定部分是否存在。

has_option()返回给定部分中是否存在给定选项。

options()返回命名部分的配置选项列表。

读()读取并解析命名的配置文件。

read_file()读取并解析一个配置文件,该配置文件作为文件对象提供。

read_string()从给定的字符串中读取配置。

read_dict()从字典中读取配置。键是部分名称,值是带有应在该部分中显示的键和值的字典。

得到()返回命名选项的字符串值。

getint()类似于get(),但将值转换为整数。

getfloat()类似于get(),但是将值转换为浮点数。

getboolean()类似于get(),但将值转换为布尔值。返回False或True。

items()返回该部分中每个选项的具有(名称,值)的元组列表。

remove_section()删除给定的文件部分及其所有选项。

remove_option()从给定的部分中删除给定的选项。

组()设置给定的选项。

写()以.ini格式写入配置状态。

以下脚本读取并解析“ sampleconfig.ini”文件import configparser

parser = configparser.ConfigParser()

parser.read('sampleconfig.ini')

for sect in parser.sections():

print('Section:', sect)

for k,v in parser.items(sect):

print(' {} = {}'.format(k,v))   print()

输出结果Section: Settings

detailedlog = 1

runstatus = 1

statusport = 6090

statusrefresh = 10

archive = 1

logfile = /opt/ecs/mvuser/MV_IPTel/log/MV_IPTel.log

version = 0.9 Build 4

servername = Unknown

Section: FTP

runftp = 1

ftpport = 21

ftpdir = /opt/ecs/mvuser/MV_IPTel/data/FTPdata

username = admin

password = admin

该write()方法用于创建配置文件。以下脚本配置解析器对象并将其写入表示“ test.ini”的文件对象import configparser

parser = configparser.ConfigParser()

parser.add_section('Manager')

parser.set('Manager', 'Name', 'Ashok Kulkarni')

parser.set('Manager', 'email', '[email protected]')

parser.set('Manager', 'password', 'secret')

fp=open('test.ini','w')

parser.write(fp)

fp.close()

你可能感兴趣的:(python,配置文件解析)