import os
import shutil
# 想要移动文件所在的根目录
rootdir = "images"
# 获取目录下文件名清单
list = os.listdir(rootdir)
# 移动图片到指定文件夹
for i in range(0, len(list)): # 遍历目录下的所有文件夹
path = os.path.join(rootdir, list[i])
list_split1=list[i].split('.')
list_split2=list_split1[0].split('_')
if list_split2[0]=='airport':
des_path = 'images/airport'
shutil.move(path,des_path)
文件目录
可以见到airport类别的两张图片都在airport文件夹外面,我们想把images文件夹下两张图片移动到airport文件夹下面。首先读取文件所有的文件名存放到一个列表中,使用os.listdir(rootdir)方法。
# 想要移动文件所在的根目录
rootdir = "images"
# 获取目录下文件名清单
list = os.listdir(rootdir)
print(list)
我们来看os.listdir方法存储的方式是存储于一个列表的形式。
我们所需要做的就是把文件名中的类别提取出来和文件夹做匹配,如果图片的文件类别和文件夹名一致,就把改图片移动到相应的文件夹下面。
list_split1=list[i].split('.')
print(list_split1)
为了得到每个图片名的类别,我们可以用split(’.’),将其以.的形式分割开然后存储于一个新的列表list_split1中,list_split1[0]能够得到airport_2。
但是还不能得到airport。这时候我们用split(’_’)在进行分割。
list_split2=list_split1[0].split('_')
print(list_split2)
这时候list_split2[0]就得到相应图片的类别啦!