python 数据批处理

获取指定文件夹下所有文件名称并写入列表

import os
import os.path
rootdir = "./pic_data"

file_object = open('train_list.txt','w')

for parent,dirnames,filenames in os.walk(rootdir):
	for filename in filenames:
		print  filename
                file_object.write(filename+ '\n')
file_object.close()

在做深度学习的时候,会有大量的数据,为了方便,可以直接用命令拷贝到一个文件夹下,代码如下:

import shutil 
import os
import os.path
rootdir = "./mjsynth/mnt/ramdisk/max/90kDICT32px"
#rootdir = "./123"

def Test2(rootDir): 
    for lists in os.listdir(rootDir): 
       #如果找到的是图片,则打印出来
        if lists[-3:]=='jpg':
            print lists
            path = os.path.join(rootDir, lists) 
            shutil.copy(path,"./500")
            continue
        #如果找到的是文件夹,则判断,如果名称小于2则递归
        if int(lists)<501:
            path = os.path.join(rootDir, lists) 
            if os.path.isdir(path): 
                Test2(path) 
Test2(rootdir)

数据复制

import os
import shutil
import os.path
rootdir = "E:\FCN\FCNDemo\FCNDemo\VOCtrainval_11-May-2012\VOCdevkit\VOC2012\SegmentationObject"
copydir = "E:\FCN\FCNDemo\FCNDemo\VOCtrainval_11-May-2012\VOCdevkit\VOC2012\JPEGImages"
objdir = "E:\FCN\FCNDemo\FCNDemo\VOCtrainval_11-May-2012\VOCdevkit\VOC2012\复制"
for filenames in os.listdir(rootdir):
    copyfile=filenames[:-3]+"jpg" #替换后缀名称
    copyfile=copydir+'\\'+copyfile  #补全完整路径
    shutil.copy(copyfile,objdir) #数据拷贝
    print(copyfile)

批量文件名称修改对于准备训练数据集是必要的。因为往往我们从网上爬下数据,其名称会如下面所示的那样让人头疼。

在这里插入图片描述

因此将这些数据改个比较有规律的名字会清爽一点,可以用python来做这件事情,代码如下:

import os
path='E:\\数据集\\动漫人脸\\faces(粗略清洗版本)\\faces\\'       

#获取该目录下所有文件,存入列表中
f=os.listdir(path)

n=0
for i in f: 
	if f[n][-3:]=='jpg':
        #设置旧文件名(就是路径+文件名)
		oldname=path+f[n]
		print(oldname)
		#设置新文件名
		newname=path+str(n+1)+'.jpg'
		#用os模块中的rename方法对文件改名
		os.rename(oldname,newname)
		print(oldname,'======>',newname)
		n+=1

在这里插入图片描述

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值