Python如何查找文件夾中含有指定關鍵字的文件
更新時間:2023年08月22日 10:27:39 作者:進階的小幺
這篇文章主要介紹了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',根據(jù)自己需求更改
shutil.copy(src_dir_path + '/' + filename, to_dir_path + '/' + filename)
copyfile_base_keyword_in_file(r'D:/copykeywordw/notations') # 文件夾目錄Python查找文件夾下含有特定關鍵字的文檔word 查找word中的關鍵詞等
應用場景
我們學校搞綜測會發(fā)放一個壓縮包,里面含有各種活動的加分證明,想要快速且不遺漏的找到自己的名字的話,就可以來跑一下這個py啦!
環(huán)境: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("總計文件數(shù):{}".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總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python中消息訂閱應用開發(fā)的最優(yōu)5個方案及代碼實現(xiàn)
消息訂閱是現(xiàn)代分布式系統(tǒng)中實現(xiàn)異步通信和解耦的核心技術之一,本文將為大家詳細介紹一下5種最優(yōu)的消息訂閱方案,感興趣的小伙伴可以了解下2025-03-03
Python 使用xlwt模塊將多行多列數(shù)據(jù)循環(huán)寫入excel文檔的操作
這篇文章主要介紹了Python 使用xlwt模塊將多行多列數(shù)據(jù)循環(huán)寫入excel文檔的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11

