当前位置: 首页 > news >正文

用python实现多文件多文本替换功能

用python实现多文件多文本替换功能

今天修改单位项目代码时由于改变了一个数据结构名称,结果有几十个文件都要修改,一个个改实在太麻烦,又没有搜到比较靠谱的工具软件,于是干脆用python手撸了一个小工具,发现python在这方面确实方便,代码也就几十行,这里记录一下,需要的朋友请拿走。
有个需要注意的地方,就是文件的编码方式,要替换成您文件的编码方式,我这里是utf-8,windows文件有可能是gbk。

import os
import fileinput# 定义一个函数,用于替换文件中的字符串
def replace_in_file(file_path, old_str, new_str):for line in fileinput.input(file_path, inplace=True, encoding='utf-8'):print(line.replace(old_str, new_str), end='')fileinput.close()if __name__ == '__main__':# 设置要替换的目录路径directory = 'D"\\dir\\subdir'# 设置要替换的字符串字典(map)placeDic = {'oldstring1:newstring1', 'oldstring2:newstring2', 'oldstring3:newstring3'}old_strings = placeDic.keys()# 遍历目录下的所有文件for filename in os.listdir(directory):# 只处理需要的文件if filename.endswith('.cpp'):file_path = os.path.join(directory, filename)for old_string in old_strings:new_string = placeDic.get(old_string, '');replace_in_file(file_path, old_string, new_string);

在这里插入图片描述

http://www.lryc.cn/news/376230.html

相关文章:

  • 【DevOps】深入探索Ubuntu操作系统:全面了解
  • 【Linux】—MySQL安装
  • 【vue】form表单提交validate验证不进valid原因
  • 如何用 Google Chrome 浏览器浏览经过 XSLT 渲染的 XML 文件
  • Python学习笔记12:进阶篇(二),类的继承与组合
  • npm install cnpm -g 报错4048
  • 本地快速部署 SuperSonic
  • 如何给vue开发的网站做seo?
  • 算法训练营第六十天(延长12天添加图论) | LeetCode 647 回文子串、LeetCode 516 最长回文子序列
  • TikTok账号养号的流程分享
  • C++初学者指南第一步---6.枚举和枚举类
  • 【js判断机型】
  • google chrome浏览器安装crx插件Jam
  • 【Java面试】二十、JVM篇(上):JVM结构
  • 【Python教程】压缩PDF文件大小
  • UE4中性能优化和检测工具
  • 大型ERP设计-业务与功能指引:外币折算与辅助账套
  • 重学java 73.设计模式
  • 线代的学习(矩阵)
  • 【Java基础5】JDK、JRE和JVM的区别与联系
  • 2024年先进机械电子、电气工程与自动化国际学术会议(ICAMEEA 2024)
  • WPF 深入理解四、样式
  • TCP相关细节
  • flutter实现UDP发送魔法包唤醒主机
  • 回溯算法练习题(2024/6/18)
  • DSP——从入门到放弃系列2——PLL锁相环(持续更新)
  • Altair 人工智能技术助力MABE预测消费者行为,实现设备性能优化
  • 解决Spring Boot项目中数据源URL属性的问题
  • Java每日作业day6.18
  • mac如何检测硬盘损坏 常用mac硬盘检测坏道工具推荐