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)的加分證明,想要快速且不遺漏的找到自己的名字的話,就可以來(lái)跑一下這個(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 Flask創(chuàng)建簡(jiǎn)潔高效的URL短鏈接服務(wù)
本文介紹了如何使用Python Flask框架創(chuàng)建URL短鏈接服務(wù)。通過(guò)詳細(xì)的步驟和代碼示例,讀者將學(xué)會(huì)如何搭建一個(gè)高效的URL縮短服務(wù),包括生成短鏈接、重定向、還原長(zhǎng)鏈接等功能。本文還介紹了如何使用Redis數(shù)據(jù)庫(kù)實(shí)現(xiàn)短鏈接的存儲(chǔ)和管理和如何優(yōu)化短鏈接的訪問(wèn)速度和可靠性2023-04-04
Python3內(nèi)置模塊pprint讓打印比print更美觀詳解
這篇文章主要給大家介紹了關(guān)于Python3內(nèi)置模塊pprint讓打印比print更美觀的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python3具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
Python中的單下劃線和雙下劃線使用場(chǎng)景詳解
這篇文章主要介紹了Python中的單下劃線和雙下劃線使用場(chǎng)景詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
解決TensorFlow GPU版出現(xiàn)OOM錯(cuò)誤的問(wèn)題
今天小編就為大家分享一篇解決TensorFlow GPU版出現(xiàn)OOM錯(cuò)誤的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02
python基礎(chǔ)_文件操作實(shí)現(xiàn)全文或單行替換的方法
下面小編就為大家?guī)?lái)一篇python基礎(chǔ)_文件操作實(shí)現(xiàn)全文或單行替換的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09
Python虛擬環(huán)境遷移的實(shí)現(xiàn)
本文主要介紹了Python虛擬環(huán)境遷移的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
利用Python如何實(shí)現(xiàn)一個(gè)小說(shuō)網(wǎng)站雛形
這篇文章主要給大家介紹了關(guān)于利用Python如何實(shí)現(xiàn)一個(gè)小說(shuō)網(wǎng)站雛形的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11

