应用场景:我们学校搞综测会发放一个压缩包,里面含有各种活动的加分证明,想要快速且不遗漏的找到自己的名字的话,就可以来跑一下这个py啦!
环境:jupyter
要求:事先安装 pip install python-docx
代码修改处:文件存放根目录和要搜索的关键词
#coding=utf-8from docx import Documentimport os,sysdef 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+"\\"+fileif os.path.isfile(fullfile):process_list.append(fullfile)elif os.path.isdir(fullfile):dir_extra_list=get_process_files(fullfile)return process_listdef find_files(root_dir,word):get_process_files(root_dir)print("总计文件数:{}".format(len(process_list)))for files in process_list:search_word(files, word)returnif __name__=='__main__':#此处修改自己存放文件位置和名字#文件根目录root_dir=r'D:\beizhai\study\大四\综测\【】XX学院综测公示文件'#要搜索的关键字word="beizhai"count=0try:find_files(root_dir,word)except:pass