python根据多个文件名批量查找文件
老板给了我一个文件列表,让我在一堆文件中挑出来,他要的文件有500多个,一堆文件有上千个,而且给的是关键词,不是完整的文件名。
我先做了类似的文件测试一下,一个名为filename的excel表
又做了一个文件夹
接下来运行代码
在这里插入代码片
import os
import numpy as np
import pandas as pd
import shutil
file_path='/home/disk/yh_test/myfiles' #文件路径
filename_path='/home/disk/yh_test/filename.xlsx' #文件列表
filelist=os.listdir(file_path) #获取文件夹中的文件名称
file_name=pd.read_excel(filename_path) #读取所需文件列表
for file in filelist:
m=file_name.shape[0] #表格的行数
olddir=os.path.join(file_path,file) #每一个文件路径
for i in range(m):
if str(file_name['name'][i]) in file: #寻找对应的文件名
F="/home/disk/yh_test/myfiles_filter/" #新文件夹名称(先建好)
newdir=os.path.join(F,file)
shutil.copy(olddir,newdir) #复制到新文件夹中
print(file) #打印出文件名,其实我是为了看它是不是在运行
else:
continue
运行结果如下:
新的文件夹myfiles_filter中文件是这样的:有关键字的文件都被复制过来了。还想知道每个关键字出现了几次,暂时还没加进去,还是等会再写一段吧0.0 试了几版都不行。。。小白伤不起啊。。。