码迷,mamicode.com
首页 > 编程语言 > 详细

PYTHON之批量文件指定字符串替换

时间:2015-08-05 14:23:07      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:

在工作应用中,运维自动化的基础是标准化。

而标准化的工作,是难点,在公司相关部门的配合。

那么,在有标准化之后,相应的部署脚本,就比较好写了。

贡献一个在类似环境下可以运用的东东。。

当然,可以写得更好点,只是时间不够。。

#!/usr/bin/python
# -*- coding:utf-8 -*-

import sys,os

#定义需要替换IP的所有文件列表,运用环境下一定要弄清楚,要不然会导致不能正常运行。如果所有环境都定义好,则此脚本通用性更强

repip_file_list = ["D1_file",                    "D2_file",                    "D3_file",                    "D4_file",                    "D5_file"]

#将模板的IP和新环境的IP集成字典,方便替换,且封装性好点

ip_dict = {"old_c_ip" : "1.1.1.1",                "new_c_ip" : "2.2.2.2",                "old_f_ip" : "1.1.1.3",                "new_f_ip" : "2.2.2.3",                "old_k_ip" : "1.1.1.4",                "new_k_ip" : "2.2.2.4",                "old_o_ip" : "1.1.1.5",               "new_o_ip" : "2.2.2.5",                "old_s_ip" : "1.1.1.6",                "new_s_ip" : "2.2.2.6"}


#把指定文件的内容替换的函数,多个环境参数并行替换,这样就可以一个脚本,多个通用。
def repip_func(file_path, ip_dict):

  f = open(file_path,r+)
  all_the_lines = f.readlines()
  f.seek(0)
  f.truncate()
  for line in all_the_lines:
    line = line.replace(ip_dict[old_c_ip],ip_dict[new_c_ip])
    line = line.replace(ip_dict[old_t_ip],ip_dict[new_t_ip])
    line = line.replace(ip_dict[old_s_ip],ip_dict[new_s_ip])
    line = line.replace(ip_dict[old_f_ip],ip_dict[new_f_ip])
    line = line.replace(ip_dict[old_k_ip],ip_dict[new_k_ip])

    f.write(line)
  f.close()

  print "%s have replace ip %s" % (file_path, ip_dict)

def main():
  for file_path in repip_file_list:
    repip_func(file_path, ip_dict)

if __name__ == "__main__":
  main()

 

PYTHON之批量文件指定字符串替换

标签:

原文地址:http://www.cnblogs.com/aguncn/p/4704422.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!