应用场景:我们学校搞综测会发放一个压缩包,里面含有各种活动的加分证明,想要快速且不遗漏的找到自己的名字的话,就可以来跑一下这个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
联系客服