作者:朱金灿
来源:clever101的专栏

为什么大多数人学不会人工智能编程?>>>

问题描述

  最近在编译glut库,发现很多makefile文件需要批量替代字符串,于是就用python写了一个工具程序实现批量替代字符串。

问题解决

  这个功能主要涉及两个函数:遍历指定目录下的指定后缀的文件和对单个文件进行字符串替换。代码实现如下:

#!/usr/bin/python
# -*- coding=utf-8 -*-
# author : clever101@163.com
# date: 2022-05-30
# version: 0.1
#propose:遍历文件夹中在多个文本文件中替换字符串
#参考文献:
#Python实践:一键批量替换不同文本字符串
#https://blog.csdn.net/qq_17256689/article/details/123485731import sys
import os# repalce str_a with str_b
def file_process(file_path, a, b):print(file_path)lens = len(a)f = open(file_path, 'r+', encoding='utf-8')all_the_lines = f.readlines()f.seek(0)  # 移动文件指针,到最开始处f.truncate()      # 从当前位置起,往后所有数据进行截断删除for line in all_the_lines:for i in range(lens):line = line.replace(a[i], b[i])f.write(line)  # 向文件中按行写入替换后的文本f.close()return# mode 0/1
# 0表示老到新,1表示新到老,其他则报错提示
# suffix表示指定后缀
def typedef_switch(dirc, old_type, new_type, mode,suffix):if mode != 0 and mode != 1:print('Mode set error, mode={}'.format(mode))returna = []b = []if mode == 0:a = old_typeb = new_typeelse:b = old_typea = new_typefilelist = os.listdir(dirc)for file in filelist:file_path = os.path.join(dirc, file)if os.path.isfile(file_path):if os.path.splitext(file_path)[1] == suffix:file_process(file_path, a, b)elif os.path.isdir(file_path):typedef_switch(file_path, old_type, new_type, mode, suffix)if __name__ == '__main__':# an exampleold_type = ['!include <win32.mak>']#old_type = ['123456789']#输入\\要进行特别处理new_type = ['!include <C:\\\\Program Files (x86)\\\\Microsoft SDKs\\\\Windows\\\\v7.1A\\\\Include\\\\Win32.mak>']#new_type = ['aaa']pathFolder = r'D:\MyProject\publish\glut-3.7'#pathFolder = r'D:\MyProject\publish\test'typedef_switch(pathFolder, old_type, new_type, 0,'.win')print('done!')# 正式退出main函数进程,以免main函数空跑sys.exit()

参考文献

1.Python实践:一键批量替换不同文本字符串

批量替换字符串的python实现相关推荐

  1. 批量替换字符串,将其中的数字递增(两种方法)和circlr.js插件的使用

    使用circlr.js插件实现3D效果的时候,不想在JS中写追加,直接写html又太麻烦(使用的是HBuilder X),所以找到了两种批量替换字符串,将其中的数字递增的方法. 想要实现的效果: 1. ...

  2. 简单介绍Idea使用正则表达式批量替换字符串的方法

    这篇文章给大家介绍了Idea使用正则表达式批量替换字符串的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧 由于一开始的粗放扩张,公司项目代码里,遗留有很多 ...

  3. 服务器上批量替换html内的字符,如何批量替换字符串中的某个特定字符?

    如何批量替换字符串中的某个特定字符? 发布时间:2020-05-26 05:06:20 来源:51CTO 阅读:569 作者:小陈子057 前两天领导突然给了我一个excel文件(该文件的编码只是简单 ...

  4. shell :linux sed 批量替换字符串

    linux sed 批量替换字符串 一月 21, 2014 ( No Comments ) Linux下批量替换多个文件中的字符串的简单方法.用sed命令可以批量替换多个文件中的字符串. 命令如下: ...

  5. java 批量替换字符串_# Java 一步一步实现高逼格的字符串替换工具(二)

    Java 一步一步实现高逼格的字符串替换工具(二) 上一篇实现了一个用于字符串替换的方法,主要是利用 正则 + jdk的字符串替换,本篇则会再之前的基础上走一个扩展 1. 之前的方法存在的问题 先把上 ...

  6. linux sed替换大小写,linux sed 批量替换字符串

    一月 21, 2014 ( NO COMMENTS ) Linux下批量替换多个文件中的字符串的简单方法.用sed命令可以批量替换多个文件中的字符串. 命令如下: sed -i "s/原字符 ...

  7. 【MySql】sql语句--批量替换字符串

    [需求] 项目中需要批量替换mysql数据库中,指定表中的指定字段中的字符串. [实现] 方法一: 可以用mysql可视化工具---Navicat,直接ctrl+F,然后点击替换前的选框.如下图: 也 ...

  8. php 数组 批量替换字符串,php数组替换字符串

    PHP5常用函数 PHP已经更新到很多个版本,最近用的比较多的要数PHP5.下面我们为大家总结了PHP5常用函数,以便大家将来实际编写代码中查看. pathinfo返回文件路径的信息 ,包括以下的数组 ...

  9. mongo 批量替换字符串

    将字段mp4_filepath中的http://188.192.162.12:8904批量替换成http://188.192.162.12:81 db.getCollection('test').fi ...

  10. vim 批量替换字符串_Vim 有什么奇技淫巧?

    在之前发布过的一篇文章--<Nova 带你快速入门 Vim> 中,我们介绍了一些 Vim 的简单入门教程,在评论区的反馈中,有些读者希望可以加入一些更加进阶的 Vim 教程,那么本文就是啦 ...

最新文章

  1. C# 学习笔记(14)自己的串口助手----多行发送
  2. c语言扫描图片的坐标,tc 如何在指定坐标处 输出bmp图片??
  3. (数据库系统概论|王珊)第九章关系查询与关系优化:习题
  4. 微信小程序(应用号)调试工具内测破解方法
  5. 专访McAfee“M双侠” 感受McAfee云安全自信
  6. SCN和Checkpoint
  7. 2021-08-25剑指 Offer 13. 机器人的运动范围
  8. ASP.NET开发学习视频教程大全(共800集)
  9. Hive窗口函数保姆级教程
  10. word三线表最后一行加粗方式
  11. java实现计算器_java实现计算器功能
  12. 中继器、集线器、网桥、交换机、路由器、网关的超全总结
  13. SRP Batcher:提升您的渲染性能
  14. Tree-shaking
  15. iOS各版本发布时间和特点
  16. CF1139D Steps to One 题解
  17. 深度学习——目标定位
  18. 视频教程-软考系统集成项目管理工程师视频教程(法律法规)-软考
  19. 密码算法(SM1、SM2、SM3、SM4、同态加密、密态计算、隐私计算和安全多方计算)
  20. 什么是入耳式监听器,谁应该使用它们?

热门文章

  1. 2018美赛 A 题
  2. 网页百度云盘服务器有点忙,百度网盘使用提示网络异常,建议使用三种解决方法...
  3. python UDP Socket编程
  4. 应广单片机(MCU单片机科普)
  5. RemObjects Remoting SDK-SEO狼术
  6. ansys14.0安装教程
  7. 2020人脸识别报告:上万家企业入局,八大技术六个趋势一文看尽
  8. Python实现爬取google翻译API结果
  9. 【网管知识】狼牙抓鸡器中毒后的解决办法
  10. 推荐系统实战1——什么是推荐系统与常见的推荐系统评价指标