【python】文件批量改名 + 根据 txt 从数据库中抽取相应文件


【数据处理】文件批量改名

  文件批量改名,可以用 matlab 或者 python 写脚本。python 代码如下

import os
old_path_image = '/root/userfolder/Bryant/JPEGImages/'
new_path_image = '/root/userfolder/new/JPEGImages/'
count = 1
for file in os.listdir(old_path_image):
    os.rename(os.path.join(old_path_image,file),os.path.join(new_path_image,str(count).zfill(5)+".jpg"))
    count+=1

涉及到几个小知识点

偷懒的话下载一些软件。我用的是batchrename,下载链接:https://pan.baidu.com/s/1nwRoA7n 密码:olwu

打开后是这个样子
这里写图片描述
可以**“添加文件”’或者“添加目录”**
这里写图片描述

右边有系统封装好的一些功能,可以直接使用
这里写图片描述

左边可以DIY自己使用的功能,不知道如何修改的,可以参考系统的功能进行修改
这里写图片描述

Note:每次操作完了以后,注意清空下文件或者目录,然后再次导入的话还是更新前的信息
这里写图片描述

最后点击**“开始重命名”**之后,大功告成
这里写图片描述

【python】根据txt内容,从数据库中抽取相应文件

  python脚本,本片博客的实验对象为jpg形式的图片和xml形式的标签。
  根据txt文件内容(存储形式为一行一个文件名),从数据集中选出来,eg:txt文件中有A.jpg,B.jpg。我们就从数据库中复制A.jpg,B.jpg到你的目标文件夹

import numpy as np
import os  
import sys  
import os.path  
import shutil  

fr = open('your.txt')#打开txt文件
dataxml = [] 
databmp = []
for line in fr.readlines():#逐行读取
    lineArr = line.strip().split()#获取每一行的内容
    dataxml.append(lineArr[0].format()+'.xml')#把内容存在dataxml和databmp列表中
    databmp.append(lineArr[0].format()+'.jpg')
#print (np.shape(dataxml))
#print (databmp)

进行检索、复制操作

rootdir = '/your/database/file'#数据库的目录
list = os.listdir(rootdir) 
#print(list)

for i in range(0,len(list)):
    for j in dataxml:
        if list[i]==j:
            path = os.path.join(rootdir,list[i])
            shutil.copy(path , '/your/target/file')    #copy(A,B)为将A内容复制到B目录下  
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值