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

yipeiwu_com5年前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的函数的一些高阶特性

高阶函数英文叫Higher-order function。什么是高阶函数?我们以实际代码为例子,一步一步深入概念。 变量可以指向函数 以Python内置的求绝对值的函数abs()为例,调...

详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本

详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本

0.配置依赖环境,如果不进行这步可能会出现一些问题 中间可能有多余空格,去除下再运行,一般都能安装成功,如果不能可以先更新下sudo apt-get update sudo apt-...

Python模块搜索路径代码详解

简述 由于某些原因,在使用 import 时,Python 找不到相应的模块。这时,解释器就会发牢骚 - ImportError。 那么,Python 如何知道在哪里搜索模块的路径呢?...

使用python 和 lint 删除项目无用资源的方法

有部分老项目是在Eclipse环境开发的,最近公司要求应用瘦身,老项目也在其中。如果在 AS 下开发就不会有这样的问题,但是在 Eclipse 中就不太方便了,于是就写了这个脚本。第一次...

python 上下文管理器使用方法小结

上下文管理器最常用的是确保正确关闭文件, with open('/path/to/file', 'r') as f: f.read() with 语句的基本语法, with...