python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python查找文件夹含有指定关键字的文件

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文