python 对txt中每行内容进行批量替换 对多个txt处理 替换txt中一个元素并另存为txt

f = open('./v al.txt')
lines = f.readlines() #整行读取
f.close()
for line in lines:
    rs = line.rstrip('\n') #去除原来每行后面的换行符,但有可能是\r或\r\n
    newname=rs.replace(rs,'/JPEGImages/'+rs+'.jpg'+' '+'/SegmentationClassAug/'+rs+'.png')
    newfile=open('. val1.txt','a')
    newfile.write(newname+'\n')
    newfile.close()

在这里插入图片描述
在此记录下,用python将layout下的xml文件中的@dimen/dpxxx改为(xxx/3)dp。

批量替换文件夹下文件中某个字符

import os, shutil,re

if __name__=='__main__':
    work_dir = 'C:\\Users\\Desktop\\workspace\\app\\src\\main\\res\\layout'
    new_dir = 'C:\\Users\\Desktop\\layout_test\\'
    for parent, dirnames, filenames in os.walk(work_dir,  followlinks=True):
        for filename in filenames:
            file_path = os.path.join(parent, filename)
            file = open(file_path,"r+",encoding='UTF-8')
            newFile = open(new_dir+filename,"w",encoding='UTF-8')
            for line in file.readlines():
                if("@dimen/dp" in line):
                    num = re.sub("\D", "", line)
                    newNum = int(num)/3
                    newNum = ("%.1f" % newNum)
                    ori = line.split("\"")
                    line = line.replace(ori[1],str(newNum)+"dp")
                newFile.writelines(line)
            print (filename)
            newFile.close()
            file.close()

批量替换某个类名

import os, shutil,re

if __name__=='__main__':

    work_dir = 'F:\\p1\\annotations'
    new_dir = 'F:\\p1\\annotations_ship\\'
    for parent, dirnames, filenames in os.walk(work_dir,  followlinks=True):
        for filename in filenames:
            file_path = os.path.join(parent, filename)
            file = open(file_path,"r+",encoding='UTF-8')
            newFile = open(new_dir+'ship'+filename[4:],"w",encoding='UTF-8')
            for line in file.readlines():
                if("<name>boat" in line):
                    line = line.replace("<name>boat","<name>ship")
                newFile.writelines(line)
            print (filename)
            newFile.close()
            file.close()


替换数据集的标签 另存

import os
path = r'C:\D\car_dataset\mark'  # txt文件存放路径
sv_path = r'C:\D\car_dataset\labels'  # 修改后的txt文件存放路径
files = os.listdir(path)
for txtFile in files:
    txt_ab_route=path+"\\" + txtFile
    write_ab_route=sv_path+"\\" + txtFile
    # print(write_ab_route)
    with open(txt_ab_route,'r') as txt:  #'r+'表示对文件是进行"读取和写入的模式"
        old_str = txt.read()
        new_str='0'+old_str[1:-1]
        # print(new_str)
        # print(old_str)
        txt.close()
    f = open(write_ab_route,"a")   #a表示没有该文件就新建
    f.write(new_str)		#写入文件
    f.close()		#执行完结束
        
  • 0
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
小软件Replace Plus:为多个文本文件做内容批量替换 当我们的文本里有些相同的文本内容替换成其他内容时,可以运用到“文本替换”功能,这一功能在诸多的文本编辑软件里都有,并不算稀奇。但是,如果你有多个文件,想要同时替换它们里面的一些相同内容,显然不是其简单的替换功能就能够达到的。要想批处理完成N个文件的文本同时替换,我给大家推荐一个小工具——Replace Plus。它是一款绿色小软件,并不需要安装,直接双击打开即可使用。   在列表栏里点击右键,选择“添加文件”即可将单独的文件添加进列表,如果您想要更加省事一些,就将欲替换文本的文件放置于一个文件夹下。右键点击选择“添加目录”,将那个文件夹添加进来,该目录下的所有文件就直接添加进来了,省去了一个一个添加的麻烦。   在“查找”栏内输入欲查找的内容,在“替换”栏里输入欲替换内容,点击“执行替换”,默认情况下会跳出“替换”对话框询问是否要替换,如果要一劳永逸地不必每个文件都跳出对话框来询问,可直接点击“替换全部”。   当列表里的“备注”栏显示出“替换成功”,即表示已经将不同文件里的相同内容替换完成。并且在列表里还会显示替换成功的数量,一目了然(如图),很简便也很实用吧!要删除列表里的内容,直接选定欲删除的内容后,在右键菜单里点击“删除”即可。  

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值