CN106886421A - 一种基于Python的配置文件统一替换的方法 - Google Patents

一种基于Python的配置文件统一替换的方法 Download PDF

Info

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
Application number
CN201710224419.9A
Other languages
English (en)
Inventor
李永信
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Inspur Smart Computing Technology Co Ltd
Original Assignee
Guangdong Inspur Big Data Research Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Inspur Big Data Research Co Ltd filed Critical Guangdong Inspur Big Data Research Co Ltd
Priority to CN201710224419.9A priority Critical patent/CN106886421A/zh
Publication of CN106886421A publication Critical patent/CN106886421A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version 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的配置文件统一替换的方法,以解决上述技术问题。
为了达到上述目的,本发明的技术方案是:
一种基于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获取的内容是已经更新过的内容。
CN201710224419.9A 2017-04-07 2017-04-07 一种基于Python的配置文件统一替换的方法 Pending CN106886421A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107678766A (zh) * 2017-10-20 2018-02-09 国云科技股份有限公司 一种系统配置文件的升降级方法

Citations (5)

* Cited by examiner, † Cited by third party
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 山东浪潮云服务信息科技有限公司 一种配置服务器、配置客户端、配置方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
LI_XIQING: "python查找替换(三)", 《HTTPS://BLOG.51CTO.COM/CWIND/1287598》 *

Cited By (1)

* Cited by examiner, † Cited by third party
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