美文网首页
文件删除,复制,内容修改,重命名

文件删除,复制,内容修改,重命名

作者: chunleiml | 来源:发表于2019-06-25 14:41 被阅读0次

训练图像是.png格式,label是.xml格式,对应的文件名相同,如果在文件夹多出几个png文件,这几个文件没有对应的xml文件,这时要删除这几个多余的png文件。

    path = r'D:\img\text_1000_xml'
#    filepath, tmpfilename = os.path.split(path)->分离路径和文件名
    file_list = os.listdir(path)
    xml_shotname = []
    for file in file_list:
        if file.endswith('.xml'):
            #splitext分离文件名的前缀和后缀
            shotname, extension = os.path.splitext(file)
            xml_shotname.append(shotname)
    for file in file_list:       
        if file.endswith('.png'):
            shotname, extension = os.path.splitext(file)
            if shotname not in xml_shotname:
                print(shotname)
                os.remove(os.path.join(path,file))

接下来把png和txt分别复制到两个不同文件夹

import shutil
    path = r'D:\img\text_1000_xml'
    path_images  = r'D:\img\images'
    path_labels  = r'D:\img\labels'
    file_list = os.listdir(path)
    xml_shotname = []
    for file in file_list:
        if file.endswith('.txt'):
            shutil.copy(os.path.join(path,file),path_labels)
        if file.endswith('.png'):
            shutil.copy(os.path.join(path,file),path_images)  

一个txt里面有很多行路径,把每行路径中某些字符替换成其它字符

import os
path = r'D:\yolo-v3-training'
f = open(os.path.join(path, 'training_list_tmp_new.txt'),'r')
f1 = open(os.path.join(path, 'training_list_tmp_new_test.txt'),'w')

for line in f:
    # 进行判断
    if 'img' in line:
        new_line = line.replace('img','label')
        print(new_line)
        f1.write(new_line)

如果把有检测框和无检测框的图片放在一个文件夹下比较,对新图片在原图片name的基础上加个后缀,这种命名方式比较合理,可以使用os的rename方法

import os
path_img = r'D:\transparent_img\text_reality_save'
texts = os.listdir(path_img)
i = 0
for text in texts: 
    shotname, extension = os.path.splitext(text)
    print(shotname)
#    new_name = shotname.replace('.','')
    new_name = shotname+'_new'
    a = os.path.join(path_img,text)
    b = os.path.join(path_img,new_name+extension)
    os.rename(a,b)

相关文章

  • 文件删除,复制,内容修改,重命名

    训练图像是.png格式,label是.xml格式,对应的文件名相同,如果在文件夹多出几个png文件,这几个文件没有...

  • Linux 创建 删除 复制 重命名 文件 通配符查找文件

    Linux 创建 删除 复制 重命名 文件 通配符查找文件 显示文件内容 切换至root用户,并进入root用...

  • Linux命令_文件目录管理

    Linux中一切皆是文件,文件有各种操作:创建、修改、复制、剪切、重命名、删除等。Linux系统中常用的与文件相关...

  • iOS NSFileManager初探

    使用NSFileManager 文件系统接口 允许访问文件夹内容 创建,重命名,删除文件,修改文件和文件属性,以及...

  • Linux命令行

    文件和目录操作 复制文件目录 移动文件目录 重命名文件目录 删除文件目录 创建文件目录 查看文件内容 查看文件类型...

  • 测试

    创建、删除、复制、移动、重命名文件和文件夹的命令分别是什么?文件:创建:touch/vim删除:rm复制:cp移动...

  • 回顾测试

    创建、删除、复制、移动、重命名文件和文件夹的命令分别是什么?文件:创建:touch / vim删除:rm复制:cp...

  • 2020-02-12 文件系统监控

    watchdog用来监控指定目录/文件的变化,如添加删除文件或目录、修改文件内容、重命名文件或目录等,每种变化都会...

  • watchdog源码分析

    简介 python中有一个监控文件变化的库,watchdog。包括添加删除文件或目录、修改文件内容、重命名文件或目...

  • 测试题

    创建、删除、复制、移动、重命名文件和文件夹的命令分别是什么?文件创建 touch删除 rm复制 cp移动 mv重命...

网友评论

      本文标题:文件删除,复制,内容修改,重命名

      本文链接:https://www.haomeiwen.com/subject/ubitcctx.html