python 实现批量替换文本中的某部分内容
时间:2020-11-18 01:03:45|栏目:Python代码|点击: 次
一、介绍
在做YOLOv3项目时,会需要将文本文件中的某部分内容进行批量替换和修改,所以编写了python程序批量替换所有文本文件中特定部分的内容。
二、代码实现
import re import os def reset(): i= 0 path = r"/data/sdxx/mzq/YOLOv3/YOLOv3-New-fire/YOLOv3-SaveVideo-New/scripts/VOCdevkit/VOC2019/labels/" filelist = os.listdir(path) # 该文件夹下所有文件(包括文件夹) for files in filelist: # 遍历所有文件 i = i + 1 Olddir = os.path.join(path,files); # 原来的文件路径 if os.path.isdir(Olddir): continue; filename = os.path.splitext(files)[0]; filetype = os.path.splitext(files)[1]; filePath = path+filename+filetype alter(filePath,"16","1") def alter(file,old_str,new_str): with open(file,"r",encoding="utf-8") as f1,open("%s.bak"% file,"w",encoding="utf-8") as f2: for line in f1: if old_str in line: line = line.replace(old_str,new_str) f2.write(line) os.remove(file) os.rename("%s.bak" % file,file) reset()