文件分类与移动重命名操作

文件分类

学python第二节课

问题如下:
1.os及os.path操作

mnist_train/dataset文件夹内的文件根据标签放到mnist_train内对应的文件夹中,并去掉标签并加上mnist_train_前缀,例如将1_1.png改为mnist_train_1.png并将该文件放到mnist_tarin/1文件夹中,作业提交代码。

意义:加强对路径的进一步认识,熟悉对文件的操作。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hhwI3XTK-1605323274561)(C:\Users\rui\Pictures\Typora\QQ截图20201114100635.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uyCpbwjV-1605323274563)(C:\Users\rui\Pictures\Typora\QQ截图20201114100821.png)]

题目描述:大概意思就是从dataset中把各个数字,分类到0、1、2、3、4、5、6、7、8、9、0文件夹中,并改名

代码如下:
import os
rootpath = "D:\\I\\college\\artificial intelligence\\os&&opencv\\mnist_train"
root1 = "D:\\I\\college\\artificial intelligence\\os&&opencv\\mnist_train\\dataset"
list1 = os.listdir(rootpath)
for dir_name in list1:  #在list1中调用dir_name
	for file_name in os.listdir(os.path.join(rootpath, dir_name)):		 #将dir_name与rootpath合并,并返回给file_name
		temp = file_name.split('.',1)[0]		#分离file_name中文件的文件名与后缀名,并把文件名赋给temp
		name1 = temp.split('_',1)[0]
		name2 = temp.split('_',1)[1]			#分离temp中文件的文件名,根据_的前后分离,并将前面赋给name1,后面赋给name2
		print (os.path.join(root1, file_name) + "\t\t" + os.path.join(rootpath, name2, 'mnist_train_' + name1 + ".png"))
		os.rename(os.path.join(root1, file_name), os.path.join(rootpath, name2,  'mnist_train_' + name1 + ".png"))	#重命名
运行结果:

如图:dataset文件夹里的0全部进入了0文件夹,其余数字也同理,所以datast里没有任何东西。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_51654869/article/details/109687970