Python如何查找文件夾中含有指定關(guān)鍵字的文件
Python查找文件夾中含有指定關(guān)鍵字的文件
查找文件夾中含有指定關(guān)鍵字的文件,并將該文件復(fù)制到另一個(gè)文件夾中
''' 查找文件夾中含有指定關(guān)鍵字的文件,并將該文件復(fù)制到另一個(gè)文件夾中 ''' 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: # 此處關(guān)鍵詞為'face_with_mask',根據(jù)自己需求更改 shutil.copy(src_dir_path + '/' + filename, to_dir_path + '/' + filename) copyfile_base_keyword_in_file(r'D:/copykeywordw/notations') # 文件夾目錄
Python查找文件夾下含有特定關(guān)鍵字的文檔word 查找word中的關(guān)鍵詞等
應(yīng)用場(chǎng)景
我們學(xué)校搞綜測(cè)會(huì)發(fā)放一個(gè)壓縮包,里面含有各種活動(dòng)的加分證明,想要快速且不遺漏的找到自己的名字的話,就可以來跑一下這個(gè)py啦!
環(huán)境:jupyter
要求:事先安裝 pip install python-docx
代碼修改處:文件存放根目錄和要搜索的關(guān)鍵詞
#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("總計(jì)文件數(shù):{}".format(len(process_list))) ? ? for files in process_list: ? ? ? ? search_word(files, word) ? ? return if __name__=='__main__': ? ? #此處修改自己存放文件位置和名字 ? ? #文件根目錄 ? ? root_dir=r'D:\beizhai\study\大四\綜測(cè)\【2021】XX學(xué)院綜測(cè)公示文件' ? ? #要搜索的關(guān)鍵字 ? ? word="beizhai" ? ? count=0 ? ? try: ? ? ? ? find_files(root_dir,word) ? ? except: ? ? ? ? pass
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python中消息訂閱應(yīng)用開發(fā)的最優(yōu)5個(gè)方案及代碼實(shí)現(xiàn)
消息訂閱是現(xiàn)代分布式系統(tǒng)中實(shí)現(xiàn)異步通信和解耦的核心技術(shù)之一,本文將為大家詳細(xì)介紹一下5種最優(yōu)的消息訂閱方案,感興趣的小伙伴可以了解下2025-03-03Python獲取接口請(qǐng)求耗時(shí)的方法詳解
你想知道我們請(qǐng)求一個(gè)url的時(shí)候,握手和請(qǐng)求資源分別占用多長(zhǎng)時(shí)間么?今天我們就來使用python寫個(gè)小案例來看看,感興趣的可以跟隨小編一起了解一下2023-04-04python實(shí)現(xiàn)錄屏功能(親測(cè)好用)
這篇文章主要介紹了使python實(shí)現(xiàn)錄屏功能(親測(cè)好用),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的工作或?qū)W習(xí)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03對(duì)Python 簡(jiǎn)單串口收發(fā)GUI界面的實(shí)例詳解
今天小編就為大家分享一篇對(duì)Python 簡(jiǎn)單串口收發(fā)GUI界面的實(shí)例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06Python 使用xlwt模塊將多行多列數(shù)據(jù)循環(huán)寫入excel文檔的操作
這篇文章主要介紹了Python 使用xlwt模塊將多行多列數(shù)據(jù)循環(huán)寫入excel文檔的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-11-11