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 ? ? #拼接每一段的內(nèi)容 ? ? 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-03Python 使用xlwt模塊將多行多列數(shù)據(jù)循環(huán)寫入excel文檔的操作
這篇文章主要介紹了Python 使用xlwt模塊將多行多列數(shù)據(jù)循環(huán)寫入excel文檔的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11