#! python
# coding: utf-8
###编写一个程序,遍历一个目录树,查找特定扩展名的文件(诸如.pdf 或.jpg)。Python 编程快速上手——让繁琐工作自动化不论这些文件的位置在哪里,将它们拷贝到一个新的文件夹中。
import shutil, os, re
filedir = 'C:\\Users\\Loyu\\Desktop\\python1'
desfiledir = 'C:\\Users\\Loyu\\Desktop\\file_copy'

###使用正则表达式########
totle = 0    #用来计算符合条件的文件数
for n, f, file in os.walk(filedir):
    if len(file) != 0:
        filestr = ' '.join(file)
        filerex = re.findall(r'\S+.pdf|\S+.txt', filestr)
        if len(filerex) != 0:
            for i in filerex:
                filetotledir = n +'\\' + i
                print(filetotledir)
                shutil.copy(filetotledir, desfiledir)
                totle += 1
    else:
        continue
print("总共找到 %d 个符合条件的文件" % totle)


###不使用正则表达式###
totle = 0    #用来计算符合条件的文件数
for n, f, file in os.walk(filedir):
    if len(file) != 0:
        for i in file:
            if '.pdf' in i or  '.txt' in i:
                filetotledir = n +'\\' + i
                print(filetotledir)
                shutil.copy(filetotledir, desfiledir)
                totle += 1
    else:
        continue
print("总共找到 %d 个符合条件的文件" % totle)