需求
编写一个程序,遍历一个目录树,查找特定扩展名的文件(诸如.pdf 或.jpg)。
不论这些文件的位置在哪里,将它们拷贝到一个新的文件夹中。
分析
- 写一个函数,首先确定目的文件夹是否存在,不存在则创建
- 遍历整个源文件夹
- 判断是否属于指定类型文件
- 将符合要求的文件拷贝到目的目录
代码
创建一个函数,有三个参数
第一个参数: 源目录
第二个参数:是一个列表,包含了所有需要拷贝的文件扩展名
第三个参数:目的目录
def copyfile2dir(srcdir, suffix, distdir): print('当前目录是' + os.getcwd()) print() if not os.path.exists(distdir): os.mkdir(distdir) for foldername,subfolername, filenames in os.walk(srcdir): for filename in filenames: filesuff = filename.split('.')[1] if filesuff in suffix: fileabspath = os.path.join(foldername,filename) shutil.copy(fileabspath, distdir) print('已拷贝:{} 到 {}'.format(fileabspath,distdir))if __name__ == '__main__': copyfile2dir(r'D:soursedir', ['txt','pdf','docx','xls','xlsx'], r'C:甥敳獲engyDesktopdistdir')
执行
源文件夹:
执行的打印输出:
拷贝到目的目录: