快速把文件夹内所有底层照片合并到一个文件夹内

本来想用os.listdir遍历的,但发现用os.walk更好,通过内置遍历可以直接获得最底层的所有文件,简单粗暴我喜欢,以后如果有多层遍历的话就用os.walk了

import os
import shutil

new_filedir = r'E:\picture'
# #快速获得文件夹内所有文件名和路径:
# list1 = [x for x in os.listdir(new_filedir)] #这里获得的只是文件名
# list2 = [x for x in os.listdir(new_filedir) if os.path.splitext(x)[1]=='.jpg' or '.JPG']
# print(list2)
# for file in list1:
#     print(os.path.join(new_filedir,file))  #这里获得的是标准路径

#创建新文件夹
try:
    os.makedirs(new_filedir)
except:
    pass
#遍历文件夹内的所有文件(包含子文件夹内的文件),剪切文件到新的文件夹内
for root, dirs, files in os.walk(r'E:\picture'):
    for file in files:
        # if file.find('.JPG') > 0 or file.find('.MOV') > 0:
        # if os.path.splitext(file)[1]=='.jpg' or '.mov':
        try:
            shutil.move(os.path.join(root,file), new_filedir) #如果是复制就用shutil.copy
        except:
            continue
#
# #判断是文件夹还是文件
# if os.path.isdir(new_filedir): #如果判断是否问文件就是os.path.isfile

猜你喜欢

转载自blog.csdn.net/weixin_42029733/article/details/85223845