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

简介:

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

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

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

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

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

复制代码
#!/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()
复制代码

 

目录
相关文章
|
26天前
|
Python
Python中的f-string:更简洁的字符串格式化
Python中的f-string:更简洁的字符串格式化
198 92
|
1月前
|
索引 Python
python 字符串的所有基础知识
python 字符串的所有基础知识
178 0
|
1月前
|
Python
Python字符串center()方法详解 - 实现字符串居中对齐的完整指南
Python的`center()`方法用于将字符串居中,并通过指定宽度和填充字符美化输出格式,常用于文本对齐、标题及表格设计。
|
2月前
|
PHP Python
Python format()函数高级字符串格式化详解
在 Python 中,字符串格式化是一个重要的主题,format() 函数作为一种灵活且强大的字符串格式化方法,被广泛应用。format() 函数不仅能实现基本的插入变量,还支持更多高级的格式化功能,包括数字格式、对齐、填充、日期时间格式、嵌套字段等。 今天我们将深入解析 format() 函数的高级用法,帮助你在实际编程中更高效地处理字符串格式化。
245 0
|
1月前
|
存储 小程序 索引
Python变量与基础数据类型:整型、浮点型和字符串操作全解析
在Python编程中,变量和数据类型是构建程序的基础。本文介绍了三种基本数据类型:整型(int)、浮点型(float)和字符串(str),以及它们在变量中的使用方式和常见操作。通过理解变量的动态特性、数据类型的转换与运算规则,初学者可以更高效地编写清晰、简洁的Python代码,为后续学习打下坚实基础。
261 0
|
2月前
|
编译器 Python
如何利用Python批量重命名PDF文件
本文介绍了如何使用Python提取PDF内容并用于文件重命名。通过安装Python环境、PyCharm编译器及Jupyter Notebook,结合tabula库实现PDF数据读取与处理,并提供代码示例与参考文献。
|
2月前
|
编译器 Python
如何利用Python批量重命名文件
本文介绍了如何使用Python和PyCharm对文件进行批量重命名,包括文件名前后互换、按特定字符调整顺序等实用技巧,并提供了完整代码示例。同时推荐了第三方工具Bulk Rename Utility,便于无需编程实现高效重命名。适用于需要处理大量文件命名的场景,提升工作效率。
|
3月前
|
编解码 Prometheus Java
当Python同时操作1000个文件时,为什么你的CPU只用了10%?
本文介绍如何构建一个高效的文件处理系统,解决单线程效率低、多线程易崩溃的矛盾。通过异步队列与多线程池结合,实现任务调度优化,提升I/O密集型操作的性能。
67 4
|
2月前
|
数据采集 监控 算法
Python文件与目录比较全攻略:从基础操作到性能优化
文件比较的核心在于数据指纹校验,通过逐字节比对生成唯一标识,确保内容一致性。从标准库的os与filecmp到高性能第三方库如pydiffx,再到分布式与量子加密技术的未来趋势,文件比较广泛应用于数据备份、代码审查与系统监控等领域,是保障数据完整性的关键技术手段。
77 0

热门文章

最新文章

推荐镜像

更多