将在一个文件夹里的人名图片移动到各自的文件夹里及其反操作
2018-03-19 09:47
260 查看
一个文件夹里都是图片,将属于同一个人的图片放到同一个文件夹import os
import sys
import shutil
"""
将filePath文件下的图片保存在newFilePath文件夹下的相应子文件夹中
pic 是字典,存放每个图片要移到的子文件夹名
"""
#将在一个文件夹里的人名图片移动到各自的文件夹里
def moveImg(filePath):
files = []
dirs = os.listdir(filePath)
for name in dirs:
names = filePath + '/' + name
if not os.path.isdir(names):
files.append(str(name))
for f in files:
fl = filePath + '/' + f #图片的绝对路径
fname = str(f).split('_')[0] #图片代表的人名
if fname in dirs: #已经有了人的文件夹
path = filePath + '/' + fname
shutil.move(fl,path) # 移动文件或目录
else: #新人
path = filePath + '/' + fname
isExists = os.path.exists(path)
if not isExists:
os.makedirs(path)
shutil.move(fl, path) # 移动文件或目录
'''
每次遍历的对象都是返回的是一个三元组(root,dirs,files)
root 所指的是当前正在遍历的这个文件夹的本身的地址
dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)
'''
# moveImg()的反向操作
def removeImg(filePath):
d = []
dirs = os.listdir(filePath)
for name in dirs:
names = filePath + '/' + name
if os.path.isdir(names):
d.append(str(name))
for i in range(len(d)): #对于每个人脸文件夹
dirpath = filePath + '/' + str(d[i])
files = os.listdir(dirpath)
for f in files:
path = dirpath + '/' + str(f) #图片绝对路径
shutil.move(path, filePath) # 移动文件或目录
for name in dirs:
names = filePath + '/' + name
if os.path.isdir(names):
os.removedirs(names)
if __name__ == "__main__":
#moveImg('/home/double/work/mydarknet/face')
removeImg('/home/double/work/mydarknet/face')
import sys
import shutil
"""
将filePath文件下的图片保存在newFilePath文件夹下的相应子文件夹中
pic 是字典,存放每个图片要移到的子文件夹名
"""
#将在一个文件夹里的人名图片移动到各自的文件夹里
def moveImg(filePath):
files = []
dirs = os.listdir(filePath)
for name in dirs:
names = filePath + '/' + name
if not os.path.isdir(names):
files.append(str(name))
for f in files:
fl = filePath + '/' + f #图片的绝对路径
fname = str(f).split('_')[0] #图片代表的人名
if fname in dirs: #已经有了人的文件夹
path = filePath + '/' + fname
shutil.move(fl,path) # 移动文件或目录
else: #新人
path = filePath + '/' + fname
isExists = os.path.exists(path)
if not isExists:
os.makedirs(path)
shutil.move(fl, path) # 移动文件或目录
'''
每次遍历的对象都是返回的是一个三元组(root,dirs,files)
root 所指的是当前正在遍历的这个文件夹的本身的地址
dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)
'''
# moveImg()的反向操作
def removeImg(filePath):
d = []
dirs = os.listdir(filePath)
for name in dirs:
names = filePath + '/' + name
if os.path.isdir(names):
d.append(str(name))
for i in range(len(d)): #对于每个人脸文件夹
dirpath = filePath + '/' + str(d[i])
files = os.listdir(dirpath)
for f in files:
path = dirpath + '/' + str(f) #图片绝对路径
shutil.move(path, filePath) # 移动文件或目录
for name in dirs:
names = filePath + '/' + name
if os.path.isdir(names):
os.removedirs(names)
if __name__ == "__main__":
#moveImg('/home/double/work/mydarknet/face')
removeImg('/home/double/work/mydarknet/face')
相关文章推荐
- 将一个文件夹中的图片移动到另一个文件夹,并重命名
- Java:使用I/O流操作将一个图片复制到另一个文件夹下后打不开的解决方法
- C# 实现:将一个文件夹下的.png图片全部移动到另一个文件夹
- .C# 拷贝一个图片到指定文件夹下(IO文件操作实例)
- python 移动图片到另外一个文件夹
- 这是一个定时脚本,主要功能是遍历该文件夹下的所有文件并存储到数组,对数据中的文件进行操作,一个一个移动到指定的目录下,并删除原有文件
- c# 文件夹的操作 图片F盘移动到C盘
- 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- C# 操作文件夹(创建、移动、删除)
- 实现一个类似3dmax那样的鼠标移动物体操作
- android怎么获取一个SD卡指定文件夹的图片Uri uri有关问题
- iOS开发之图片操作,移动,旋转,缩放实例演示
- 一个MovieClip的移动操作
- C# 对文件与文件夹的操作 -- 删除、移动与复制
- C# 文件操作 全收录 追加、拷贝、删除、移动文件、创建目录、递归删除文件夹及文件....
- matlab读取文件夹下的所有图片及其子文件夹下的所有图片
- 读取相册图片,保存至另外一个文件夹图片大小变大
- 今天搞了个php的图片管理系统,对文件夹进行的操作-上传,修改等,删除用unlink没弄了
- Delphi 文件的操作:重命名、复制、移动、删除(制作一个信息上传控件)
- Java 流操作文件实现文件夹及其中内容的复制粘贴