遍历某目录的下两层目录,并查找指定类型文件,复制到上层文件夹
问题描述:当前目录包含多层下级目录,且下级目录中各存在一个.avi文件,每次访问需要点击到每个下级目录访问一个文件,操作复杂,且不够直观,所以写了个脚本将各个下级目录下的avi文件统一复制到上层目录,直观展示和查阅。
问题截图
当前存在多个目录
每个目录里面都有部分相关格式的文件
逐一打开访问较麻烦,且不够直观
实现代码
// An highlighted block
# -*- coding: utf-8 -*-
'''
# -*- coding: utf-8 -*-
'''
用途:
遍历某目录的下两层目录,并查找指定类型文件,复制到上层文件夹
'''
import shutil,os
allfile =[]
def get_dir(path,fileType):
'''
:param path: 路径
:param fileType: 需要复制的文件类型(.mkv或.avi等,前面需要加.)
:return:null
'''
#查看当前目录文件列表(包含文件夹)
allfilelist = os.listdir(path)
print(allfilelist)
for file in allfilelist:
filepath = os.path.join(path, file)
#判断是否是文件夹,如果是则继续遍历,否则打印信息
if os.path.isdir(filepath):
allfilelist2 = os.listdir(filepath)
for file2 in allfilelist2:
filepath3 = os.path.join(filepath, file2)
#判断文件是否以.avi结尾
if filepath3.endswith(fileType):
print('打印文件路径:'+filepath3)
#复制filepath3文件到path目录
shutil.copy(filepath3, path)
else:
print('不是文件夹,继续查找...')
if __name__ == '__main__':
path = 'D:\\project\\demo'
get_dir(path,'.avi')
本人是个菜鸟,大神求不喷。。。。。