python 实现批量替换文本中的某部分内容

yipeiwu_com6年前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()

以上这篇python 实现批量替换文本中的某部分内容就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python读取目录下所有的jpg文件,并显示第一张图片的示例

如下所示: # -*- coding: UTF-8 -*- import numpy as np import os from scipy.misc import imread, i...

详解Django解决ajax跨域访问问题

详解Django解决ajax跨域访问问题

这篇文章主要给大家介绍了关于Django跨域请求问题解决的相关资料,文中介绍的实现方法包括:使用django-cors-headers全局控制、使用JsonP,只能用于Get方法以及在v...

python numpy中cumsum的用法详解

Cumsum :计算轴向元素累加和,返回由中间结果组成的数组 重点就是返回值是“由中间结果组成的数组” 以下代码在python3.6版本运行成功! 下面看代码,定义一个2*2*3的...

python之yield和Generator深入解析

首先我们从一个小程序导入,各定一个list,找出其中的素数,我们会这样写 import math def is_Prims(number): if number == 2:...

Python 内置函数memoryview(obj)的具体用法

memoryview() 函数返回给定参数的内存查看对象(Momory view)。 语法 memoryview 语法:memoryview(obj) 参数说明:obj -- 对象...