Python按文件名匹配关键字拷贝文件
按照网上别人的思路写了一个满足自己需求的功能
注意点:
- 函数是按关键字匹配文件名,所以匹配关键字的先后顺序很重要
- “数据核心”和“核心数据”的区分在于先匹配哪个关键字
- 为方便实验,我这里是拷贝,如果是移动的话shutil.copy要改为shutil.move
- 用shutil.copy复制文件的话excel的格式会变,存储大小可能会变小,但内容不会变
- shutil.copy会把一些日志文件或副本一起拷贝,不用的话可以删除
import os
import shutil
src_dir_path = 'E:\要拷贝的文件夹' # 源文件夹
to_dir_path = 'E:\需要存放的文件夹' # 存放复制文件的文件夹
key1 = '关键字' # 源文件夹中的文件包含字符key则复制到to_dir_path文件夹中
filelist = os.listdir(src_dir_path) # 当前路径下文件内容列表
def printallfiles(dirs, abspath) :
for file in dirs:
sub_path = os.path.join(abspath, file) # 获取文件的绝对路径
if(os.path.isdir(sub_path)): # 判断是否为文件夹
temppath = os.listdir(sub_path)
printallfiles(temppath,sub_path) # 递归调用函数,目的是遍历所有文件
else:
if key1 in file:
shutil.copy(sub_path, to_dir_path)
printallfiles(filelist, src_dir_path) #调用函数