最近需要对一些图片进行整理,需要从一堆图片中将已经存在在文件中的图片移动到另外一个新的文件夹中,所以就特意就写了一个小玩意方便使用.下面是代码实现:
# -*- coding: utf-8 -*-
# @Time : 2019-09-30 19:54
# @Author : scyllake
import shutil
import os
oldpath = r'C:\Users\zjk\Desktop\全部'
newpath = r'C:\Users\zjk\Desktop\整理后的图片'
file_path = r'C:\Users\zjk\Desktop\已有图片信息.txt'
#从文件中获取要拷贝的文件的信息
def get_filename_from_txt(file):
filename_lists = []
with open(file,'r',encoding='utf-8') as f:
lists = f.readlines()
for list in lists:
filename_lists.append(str(list).strip('\n')+'.jpg')
return filename_lists
#拷贝文件到新的文件夹中
def mycopy(srcpath,dstpath,filename):
if not os.path.exists(srcpath):
print("srcpath not exist!")
if not os.path.exists(dstpath):
print("dstpath not exist!")
for root,dirs,files in os.walk(srcpath,True):
if filename in files:
# 如果存在就拷贝
shutil.copy(os.path.join(root,filename),dstpath)
else:
# 不存在的话将文件信息打印出来
print(filename)
if __name__ == "__main__":
#执行获取文件信息的程序
filename_lists = get_filename_from_txt(file_path)
#根据获取的信息进行遍历输出
for filename in filename_lists:
mycopy(oldpath,newpath,filename)