CN106886421A - 一种基于Python的配置文件统一替换的方法 - Google Patents
一种基于Python的配置文件统一替换的方法 Download PDFInfo
- Publication number
- CN106886421A CN106886421A CN201710224419.9A CN201710224419A CN106886421A CN 106886421 A CN106886421 A CN 106886421A CN 201710224419 A CN201710224419 A CN 201710224419A CN 106886421 A CN106886421 A CN 106886421A
- Authority
- CN
- China
- Prior art keywords
- file
- configuration
- configuration file
- replaced
- python
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 15
- 238000012986 modification Methods 0.000 claims abstract description 10
- 230000004048 modification Effects 0.000 claims abstract description 10
- 230000011218 segmentation Effects 0.000 claims 1
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000007792 addition Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种基于Python的配置文件统一替换的方法,其特征在于,包括以下步骤:步骤1:将要替换修改的配置按配置文件模板写入指定的配置文件;步骤2:配置文件替换模块遍历步骤1中的指定配置文件,将指定配置文件中的内容分为三部分;步骤3:配置文件替换模块利用Python的文件读写器reader获取文件流;步骤4:获取文件流每行数据用Python re 模块和配置项做正则匹配,匹配成功进行正则替换,否则继续文件遍历。
Description
技术领域
本发明属于计算机技术领域,具体涉及一种基于Python的配置文件统一替换的方法。
背景技术
随着信息化水平的发展,各类系统层出不穷,伴随着消费者复杂多变的需求,产品部署所需的技术组件也日益增多,相应的组件配置也愈发复杂多样,如何对繁杂冗余的配置项进行管理、简化配置工作也逐步成为企业关注的重点,现有技术对配置文件的修改替换过程中,由于工作量比较大,配置文件被误替换修改的几率较大导致配置文件失效。此为现有技术的不足之处。
发明内容
本发明的目的在于,针对上述现有技术存在的缺陷,提供设计一种基于Python的配置文件统一替换的方法,以解决上述技术问题。
为了达到上述目的,本发明的技术方案是:
一种基于Python的配置文件统一替换的方法,其特征在于,包括以下步骤:
步骤1:将要替换修改的配置按配置文件模板写入指定的配置文件;
步骤2:配置文件替换模块遍历步骤1中的指定配置文件,将指定配置文件中的内容分为三部分;
步骤3:配置文件替换模块利用Python的文件读写器reader获取文件流;
步骤4:获取文件流每行数据用Python re 模块和配置项做正则匹配,匹配成功进行正则替换,否则继续文件遍历。
步骤1中所述的配置文件模板对于每一条数据均包括文件名称、该文件要修改的配置项和规定该配置的替换值标识;多个配置项之间通过特定符号分割。
步骤2中配置文件的三部分分别是,配置文件名、配置项、替换标识。
步骤4中,行数据和替换标识均匹配成功进行正则替换。
同一文件支持自定义多种替换标识;同一文件存在多个替换标识的替换时,采用临时文件的方式来避免覆盖,保证第n(n>1)次替换时reader获取的内容是已经更新过的内容。
对初始化安装修改,由外部控制文件进行调用,替换值由调用方决定,配置只规定替换值标识。将最后的标识字段作为需要替换的值,通过增加add/remove等命令来实现配置的增加和删除。
本发明的有益效果在于,所有需要修改的配置提前维护到指定文件,实现对项目中任何格式配置文件内容的修改替换,无论是在产品初始安装部署还是后期的维护阶段,都可对其进行管理,包括配置文件的增删改、配置项的增删改,并支持自定义多种替换标识,满足基本的配置模式。统一的配置既方便对产品配置的管理,又大大减轻运维人员的工作量以及出现错改、漏改的几率。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
图1为一种基于Python的配置文件统一替换的方法流程图。
具体实施方式
下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。
如图1所示,本实施例提供的一种基于Python的配置文件统一替换的方法,包括以下步骤:
步骤1:将要替换修改的配置按配置文件模板写入指定的配置文件;
步骤2:配置文件替换模块遍历步骤1中的指定配置文件,将指定配置文件中的内容分为三部分;
步骤3:配置文件替换模块利用Python的文件读写器reader获取文件流;
步骤4:获取文件流每行数据用Python re 模块和配置项做正则匹配,匹配成功进行正则替换,否则继续文件遍历。
步骤1中所述的配置文件模板对于每一条数据均包括文件名称、该文件要修改的配置项和规定该配置的替换值标识;多个配置项之间通过特定符号分割。
步骤2中配置文件的三部分分别是,配置文件名、配置项、替换标识。
步骤4中,行数据和替换标识均匹配成功进行正则替换。
同一文件支持自定义多种替换标识;同一文件存在多个替换标识的替换时,采用临时文件的方式来避免覆盖,保证第n(n>1)次替换时reader获取的内容是已经更新过的内容。
对初始化安装修改,由外部控制文件进行调用,替换值由调用方决定,配置只规定替换值标识。将最后的标识字段作为需要替换的值,通过增加add/remove等命令来实现配置的增加和删除。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。
Claims (7)
1.一种基于Python的配置文件统一替换的方法,其特征在于,包括以下步骤:
步骤1:将要替换修改的配置按配置文件模板写入指定的配置文件;
步骤2:配置文件替换模块遍历步骤1中的指定配置文件,将指定配置文件中的内容分为三部分;
步骤3:配置文件替换模块利用Python的文件读写器reader获取文件流;
步骤4:获取文件流每行数据用Python re 模块和配置项做正则匹配,匹配成功进行正则替换,否则继续文件遍历。
2.根据权利要求1所述的一种基于Python的配置文件统一替换的方法,其特征在于,步骤1中所述的配置文件模板对于每一条数据均包括文件名称、该文件要修改的配置项和规定该配置的替换值标识。
3.根据权利要求1或2所述的一种基于Python的配置文件统一替换的方法,其特征在于,多个配置项之间通过特定符号分割。
4.根据权利要求1或2所述的一种基于Python的配置文件统一替换的方法,其特征在于,步骤2中配置文件的三部分分别是,配置文件名、配置项、替换标识。
5.根据权利要求4所述的一种基于Python的配置文件统一替换的方法,其特征在于,步骤4中,行数据和替换标识均匹配成功进行正则替换。
6.根据权利要求1所述的一种基于Python的配置文件统一替换的方法,其特征在于,同一文件支持自定义多种替换标识。
7.根据权利要求6所述的一种基于Python的配置文件统一替换的方法,其特征在于,同一文件存在多个替换标识的替换时,采用临时文件的方式来避免覆盖,保证第n(n>1)次替换时reader获取的内容是已经更新过的内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710224419.9A CN106886421A (zh) | 2017-04-07 | 2017-04-07 | 一种基于Python的配置文件统一替换的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710224419.9A CN106886421A (zh) | 2017-04-07 | 2017-04-07 | 一种基于Python的配置文件统一替换的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106886421A true CN106886421A (zh) | 2017-06-23 |
Family
ID=59182733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710224419.9A Pending CN106886421A (zh) | 2017-04-07 | 2017-04-07 | 一种基于Python的配置文件统一替换的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106886421A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107678766A (zh) * | 2017-10-20 | 2018-02-09 | 国云科技股份有限公司 | 一种系统配置文件的升降级方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103399840A (zh) * | 2013-07-31 | 2013-11-20 | 华为技术有限公司 | 一种计算机配置文件的带外修改方法及计算机 |
CN103914370A (zh) * | 2012-12-31 | 2014-07-09 | 百度国际科技(深圳)有限公司 | 基于可扩展标记语言xml配置文件的测试方法及装置 |
CN105224351A (zh) * | 2014-06-17 | 2016-01-06 | 中兴通讯股份有限公司 | 快速配置实现方法及快速配置服务器 |
CN106325869A (zh) * | 2016-08-24 | 2017-01-11 | 浪潮(北京)电子信息产业有限公司 | 一种配置文件操作处理方法及其装置 |
CN106533764A (zh) * | 2016-11-14 | 2017-03-22 | 山东浪潮云服务信息科技有限公司 | 一种配置服务器、配置客户端、配置方法和系统 |
-
2017
- 2017-04-07 CN CN201710224419.9A patent/CN106886421A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914370A (zh) * | 2012-12-31 | 2014-07-09 | 百度国际科技(深圳)有限公司 | 基于可扩展标记语言xml配置文件的测试方法及装置 |
CN103399840A (zh) * | 2013-07-31 | 2013-11-20 | 华为技术有限公司 | 一种计算机配置文件的带外修改方法及计算机 |
CN105224351A (zh) * | 2014-06-17 | 2016-01-06 | 中兴通讯股份有限公司 | 快速配置实现方法及快速配置服务器 |
CN106325869A (zh) * | 2016-08-24 | 2017-01-11 | 浪潮(北京)电子信息产业有限公司 | 一种配置文件操作处理方法及其装置 |
CN106533764A (zh) * | 2016-11-14 | 2017-03-22 | 山东浪潮云服务信息科技有限公司 | 一种配置服务器、配置客户端、配置方法和系统 |
Non-Patent Citations (1)
Title |
---|
LI_XIQING: "python查找替换(三)", 《HTTPS://BLOG.51CTO.COM/CWIND/1287598》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107678766A (zh) * | 2017-10-20 | 2018-02-09 | 国云科技股份有限公司 | 一种系统配置文件的升降级方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN202150045U (zh) | 基于物联网的中央控制系统 | |
CN102750406A (zh) | 一种基于模型集和差异模型的电网模型多版本管理方法 | |
CN101344931A (zh) | Rfid一体化机 | |
CN102970373B (zh) | 一种数据同步方法、装置及系统 | |
CN103870274A (zh) | 一种基于webservice技术下实现异构系统间数据交互的可视化开发组件 | |
CN102647336A (zh) | 用于封包内容转换的方法以及网络装置 | |
CN106557794A (zh) | 基于物联感知的机房、机柜空间管理方法 | |
CN103064919A (zh) | 一种业务系统中配置参数的保存方法及装置 | |
CN105786921A (zh) | 一种非结构化文档的数据模块转化方法和装置 | |
CN106886421A (zh) | 一种基于Python的配置文件统一替换的方法 | |
CN106777272A (zh) | 一种数据比对及同步方法 | |
CN103714177A (zh) | 用于电力抄表灵活可配电表规约的处理方法及抄表方法 | |
CN103530134A (zh) | 一种可配置软件平台结构 | |
CN103248913B (zh) | 基于多通道内置图像处理控制盒的多区域同步开窗方法 | |
CN107885582B (zh) | 异构容器集群迁移方法和控制器 | |
CN103970776A (zh) | 一种创建can分层树的方法和系统 | |
CN103176801B (zh) | 一种表项操作接口函数的生成方法及装置 | |
CN108304040A (zh) | 交互智能平板及触摸数据处理方法 | |
CN108040131A (zh) | 整机柜服务器自动配置节点管理模块网口地址的方法 | |
CN204013573U (zh) | 一种设备故障快速抢修装置 | |
CN105868410A (zh) | 一种模型驱动的智能变电站scd文件与调控主站cim/e文件转换工具及其方法 | |
CN109902299B (zh) | 一种文本处理方法及装置 | |
CN104933119A (zh) | 一种大数据管理方法 | |
CN106776275A (zh) | 一种基于分组复用的测试流程自动生成方法 | |
CN111985881A (zh) | 智能合同审阅系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170623 |
|
RJ01 | Rejection of invention patent application after publication |