一种配置文件操作处理方法及其装置与流程

文档序号:12596276阅读:180来源:国知局
一种配置文件操作处理方法及其装置与流程

本发明涉及配置文件领域,特别是涉及一种配置文件操作处理方法及其装置。



背景技术:

如果程序没有任何配置文件,那么这个程序是全封闭的,一旦程序需要修改一些参数则必须修改程序代码本身并且重新编译,为了让程序出厂之后还能够根据需要进行必要的配置,所以在程序中要用配置文件来灵活的配置一些参数,配置参数即牵扯到对配置文件的解析,配置文件的解析并不复杂,在Python中的ConfigParser模块即用于配置文件的读写及解析处理。

INI类型的配置文件的格式包括三个基本要素parameters,sections和comments。其中,最基本的元素就是parameters,parameters又由name和value组成,name和value由等号隔开。所有的parameters都是以section为单位结合在一起的,所有的section名称都独占一行,并且section的名字都有方括号包围着,在section声明后的所有parameters都是属于该section的,对于一个section没有明显的结束标识符,一个section的开始就是另一个section的结束。在INI文件中的注释语句是以分号开始的,所有的注释语句不管多长都是独占一行直到结束的,在分号和行结束符之间的所有内容都是被忽略的。

Python的ConfigParser模块中定义了3个类对INI文件进行操作,分别是RawConfigParser、ConfigParser、SafeConfigParser。RawCnfigParser是最基础的INI文件读取类,ConfigParser、SafeConfigParser支持对%(value)s变量的解析。ConfigParser扩展了RawConfigParser的一些接口方法,添加了一些可选参数;SafeConfigParser实现了与ConfigParser相同的接口。操作人员能够通过直接调用ConfigParser模块的接口来实现对配置文件section的读取,修改,添加,删除等操作。

但是,在封装命令行过程中,使用Python的ConfigParser模块对配置文件进行文件处理操作时,当操作完成后对配置文件写回时,会导致配置文件中原来parameters中name出现的冒号“:”变成等号“=”,这样配置文件的格式会出现混乱,使配置文件原来parameters中的等号失效,从而导致配置文件特定配置项不可用,影响软件功能。

因此,如何提供一种能够避免配置文件格式混乱的配置文件操作处理方法及其装置是本领域技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种配置文件操作处理方法及其装置,能够避免配置文件写回后,parameters中name出现的冒号“:”变成等号“=”的问题出现,进而避免配置文件的格式发生混乱而导致配置文件特定配置项不可用的情况出现,提高配置文件处理时的可靠性。

为解决上述技术问题,本发明提供了一种配置文件操作处理方法,用于Python的ConfigParser模块,包括:

步骤s101:接收待处理的配置文件,调用第一格式替换函数对所述配置文件进行第一格式替换操作,将所述配置文件中parameters中name内的冒号替换为特定字符;

步骤s102:对进行第一格式替换后的所述配置文件进行相应的文件处理操作,操作完成后,将所述配置文件写回系统进行保存处理;

步骤s103:调用第二格式替换函数对保存后的所述配置文件进行第二格式替换操作,将所述配置文件中parameters中name内的所述特定字符替换为冒号。

优选地,步骤s101之前还包括:

调用格式控制函数对接收到的所述配置文件进行格式控制操作,保证所述配置文件的大小写格式在文件处理完成后不发生改变。

优选地,所述特定字符具体为下划线。

优选地,所述文件处理操作包括读取操作、修改操作、添加操作以及删除操作中的一种或几种的组合。

为解决上述技术问题,本发明还提供了一种一种配置文件操作处理装置,用于Python的ConfigParser模块,所述装置包括:

第一替换模块,用于接收待处理的配置文件,调用第一格式替换函数对所述配置文件进行第一格式替换操作,将所述配置文件中parameters中name内的冒号替换为特定字符;

文件处理模块,用于对进行第一格式替换后的所述配置文件进行相应的文件处理操作,操作完成后,将所述配置文件写回系统进行保存处理;

第二替换模块,用于调用第二格式替换函数对保存后的所述配置文件进行第二格式替换操作,将所述配置文件中parameters中name内的所述特定字符替换为冒号。

优选地,还包括:

格式控制模块,用于调用格式控制函数对接收到的所述配置文件进行格式控制操作,保证所述配置文件的大小写格式在文件处理完成后不发生改变,并将进行格式控制后的所述配置文件发送至所述第一替换模块。

本发明提供了一种配置文件操作处理方法及其装置,在接收到配置文件后,首先将配置文件中parameters中name内的冒号替换为特定字符,然后对配置文件进行相应的文件处理操作并写回保存,最后将特定字符替换回冒号。可见,本发明避免了配置文件写回后,parameters中name出现的冒号“:”变成等号“=”的问题出现,进而避免了配置文件的格式发生混乱而导致配置文件特定配置项不可用的情况出现,尽可能避免了对软件功能的影响,提高了ConfigParser模块的可靠性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种配置文件操作处理方法的过程的流程图;

图2为本发明提供的一种配置文件操作处理装置的结构示意图。

具体实施方式

本发明的核心是提供一种配置文件操作处理方法及其装置,能够避免配置文件写回后,parameters中name出现的冒号“:”变成等号“=”的问题出现,进而避免配置文件的格式发生混乱而导致配置文件特定配置项不可用的情况出现,提高配置文件处理时的可靠性。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供了一种配置文件操作处理方法,用于Python的ConfigParser模块,参见图1所示,图1为本发明提供的一种配置文件操作处理方法的过程的流程图;该方法包括:

步骤s101:接收待处理的配置文件,调用第一格式替换函数对配置文件进行第一格式替换操作,将配置文件中parameters中name内的冒号替换为特定字符;

步骤s102:对进行第一格式替换后的配置文件进行相应的文件处理操作,操作完成后,将配置文件写回系统进行保存处理;

步骤s103:调用第二格式替换函数对保存后的配置文件进行第二格式替换操作,将配置文件中parameters中name内的特定字符替换为冒号。

具体的,这里的特定字符具体为下划线。当然,也可以为其他字符,只要该特定字符在进行文件处理过程中不会被替换为等号而是保持不变即可。

其中,这里的文件处理操作包括读取操作、修改操作、添加操作以及删除操作中的一种或几种的组合。

可以理解的是,本发明在原来ConfigParser模块内的基础上增加了两个函数,第一格式替换函数smb_icfs_reformat()和第二格式替换函数smb_icfs_format()。其中,第一格式替换函数smb_icfs_reformat()的主要功能是使用第一正则表达式来将配置文件中parameters中name内出现的冒号“:”替换成特定字符,这里以下划线“_”为例,例如,将配置文件中的语句worm:grace_period替换成worm_grace_period,这里的第一正则表达式为("sed-i's/worm:grace_period/worm_grace_period/g'/etc/samba/smb.conf"),通过上述第一替换操作后,ConfigParser模块在对配置文件进行文件处理时,就不会将配置文件中parameters中name内出现的冒号“:”随意的变成等号“=”。等对配置文件操作完成并写回保存后,再调用第二格式替换函数smb_icfs_format(),该函数主要功能就是使用第二正则表达式将配置文件中parameters中name内出现的下划线“_”替换回冒号“:”,例如,将配置文件中的worm_grace_period替换成worm:grace_period,其中,这里的第二正则表达式为("sed-i's/worm_grace_period/worm:grace_period/g'/etc/samba/smb.conf"),通过上述第二替换操作即完成了对配置文件格式的控制。通过增加上述两个函数,能够避免ConfigParser模块随意将配置文件中parameters中name内出现的冒号“:”随意变换成等号“=”导致配置文件失效进而导致软件部分功能不可用的情况出现,提高了ConfigParser模块的可靠性。

作为优选地,步骤s101之前还包括:

调用格式控制函数对接收到的配置文件进行格式控制操作,保证配置文件的大小写格式在文件处理完成后不发生改变。

可以理解的是,本发明在原来ConfigParser模块内的基础上做了一些修改,定义了一个格式控制函数UpConfigParser(),在封装命令行时调用此函数对配置文件进行格式控制操作,能够使得每次对配置文件操作完成后回写时配置文件的内容依然是原来的内容,而不会将配置文件的内容变成小写的,主要由defoptionxform(self,optionstr):return optionstr此语句实现。

本发明提供了一种配置文件操作处理方法,在接收到配置文件后,首先将配置文件中parameters中name内的冒号替换为特定字符,然后对配置文件进行相应的文件处理操作并写回保存,最后将特定字符替换回冒号。可见,本发明避免了配置文件写回后,parameters中name出现的冒号“:”变成等号“=”的问题出现,进而避免了配置文件的格式发生混乱而导致配置文件特定配置项不可用的情况出现,尽可能避免了对软件功能的影响,提高了ConfigParser模块的可靠性。

本发明还提供了一种一种配置文件操作处理装置,用于Python的ConfigParser模块,参见图2所示,图2为本发明提供的一种配置文件操作处理装置的结构示意图。该装置包括:

第一替换模块,用于接收待处理的配置文件,调用第一格式替换函数对配置文件进行第一格式替换操作,将配置文件中parameters中name内的冒号替换为特定字符;

文件处理模块,用于对进行第一格式替换后的配置文件进行相应的文件处理操作,操作完成后,将配置文件写回系统进行保存处理;

第二替换模块,用于调用第二格式替换函数对保存后的配置文件进行第二格式替换操作,将配置文件中parameters中name内的特定字符替换为冒号。

作为优选地,还包括:

格式控制模块,用于调用格式控制函数对接收到的配置文件进行格式控制操作,保证配置文件的大小写格式在文件处理完成后不发生改变,并将进行格式控制后的配置文件发送至第一替换模块。

本发明提供了一种配置文件操作处理装置,在接收到配置文件后,首先将配置文件中parameters中name内的冒号替换为特定字符,然后对配置文件进行相应的文件处理操作并写回保存,最后将特定字符替换回冒号。可见,本发明避免了配置文件写回后,parameters中name出现的冒号“:”变成等号“=”的问题出现,进而避免了配置文件的格式发生混乱而导致配置文件特定配置项不可用的情况出现,尽可能避免了对软件功能的影响,提高了ConfigParser模块的可靠性。

需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1