Python如何查找文件夹中含有指定关键字的文件
作者:进阶的小幺
这篇文章主要介绍了Python如何查找文件夹中含有指定关键字的文件问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
Python查找文件夹中含有指定关键字的文件
查找文件夹中含有指定关键字的文件,并将该文件复制到另一个文件夹中
''' 查找文件夹中含有指定关键字的文件,并将该文件复制到另一个文件夹中 ''' import os import shutil def copyfile_base_keyword_in_file(file_pathname): # 遍历该目录下的所有图片文件 for filename in os.listdir(file_pathname): #path = os.path.join(r'D:/copykeywordw/notations', filename) path = os.path.join(file_pathname, filename) f = open(path, 'r') lines = f.readlines() for lines in lines: if 'face_with_mask' in lines: # 此处关键词为'face_with_mask',根据自己需求更改 shutil.copy(src_dir_path + '/' + filename, to_dir_path + '/' + filename) copyfile_base_keyword_in_file(r'D:/copykeywordw/notations') # 文件夹目录
Python查找文件夹下含有特定关键字的文档word 查找word中的关键词等
应用场景
我们学校搞综测会发放一个压缩包,里面含有各种活动的加分证明,想要快速且不遗漏的找到自己的名字的话,就可以来跑一下这个py啦!
环境:jupyter
要求:事先安装 pip install python-docx
代码修改处:文件存放根目录和要搜索的关键词
#coding=utf-8 from docx import Document import os,sys def search_word(filename,word): #打开文档 document = Document(filename) #读取每段资料 pa=document.paragraphs #拼接每一段的内容 para_list = [] for para in pa: para_list.append(para.text) #合并字符串 file_text = ''.join(para_list) if word in file_text: print("find file for {}:".format(word)) print(filename) process_list=[] def get_process_files(root_dir): """process all files in directory""" cur_dir=os.path.abspath(root_dir) file_list=os.listdir(cur_dir) for file in file_list: fullfile=cur_dir+"\\"+file if os.path.isfile(fullfile): process_list.append(fullfile) elif os.path.isdir(fullfile): dir_extra_list=get_process_files(fullfile) return process_list def find_files(root_dir,word): get_process_files(root_dir) print("总计文件数:{}".format(len(process_list))) for files in process_list: search_word(files, word) return if __name__=='__main__': #此处修改自己存放文件位置和名字 #文件根目录 root_dir=r'D:\beizhai\study\大四\综测\【2021】XX学院综测公示文件' #要搜索的关键字 word="beizhai" count=0 try: find_files(root_dir,word) except: pass
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。