欢迎光临散文网 会员登陆 & 注册

提升效率之道:用一键搜寻文件内关键字并复制的秘诀

2023-07-06 14:24 作者:爱折腾的杰西  | 我要投稿

直接双击启动

键入所需内容

1, 所要检索的关键词

2, 所在的文件夹

审查结果文件夹

名为"result"的结果文件夹,储存了所有查询成果

关键词(KeyWords)

Python、关键字搜索、文件处理、提高效率

参考资料

1. Python 3.8: Python 是一种广泛使用的高级编程语言,其设计的主要目标是可读性和编程的简便。Python 3.8 是 Python 的一个版本,于 2019 年 10 月 14 日发布。这个版本增加了许多新功能和优化,比如赋值表达式(又名 "海象操作符"),使用更多的位置参数在函数定义中,以及其他一些增强和修复。

2. bat 文件: BAT 文件是一个批处理文件,用于在 Microsoft Windows 系统中自动执行一系列命令。其扩展名为 ".bat"。bat 文件可以用记事本或其他文本编辑器创建和编辑,然后双击文件就能执行一系列预先定义的命令。BAT 文件经常用于自动化常见的计算机任务,如文件管理和系统配置。

3. Python 代码的含义: Python 代码是使用 Python 编程语言编写的指令集。每一行 Python 代码都是一个或多个指令,告诉计算机执行特定的任务。例如,你可以用 Python 代码来创建变量,定义函数,控制程序流程(例如,使用 if 语句和循环),处理数据,等等。Python 的简洁性和可读性使得 Python 代码比许多其他编程语言更易于理解和编写。

希望你有基础的Python知识,以便在求知的道路上走得更远,持之以恒,必能有所收获。

import os import shutil import docx import time from PyPDF2 import PdfReader def search_keywords_in_text(text, keywords):    return any(keyword in text for keyword in keywords) def extract_paragraphs_with_keyword(doc, keywords):    paragraphs = []    for paragraph in doc.paragraphs:        if any(keyword in paragraph.text for keyword in keywords):            paragraphs.append(paragraph.text)    return paragraphs # 创建结果文件夹(如果不存在) if not os.path.exists("result"):    os.makedirs("result") else:    # 清空结果文件夹中的内容    shutil.rmtree("result")    time.sleep(3)    os.makedirs("result") # 通过输入函数获取要检索的关键字列表 keywords = input("请输入要检索的关键字,用逗号分隔:").split(",") # 输入目标 PDF 文件的路径 pdf_directory = input("请输入目标 PDF 文件的路径:") # 存储已复制的文件名 copied_files = [] # 处理目标 PDF 文件夹 for filename in os.listdir(pdf_directory):    if filename.endswith(".pdf"):        # 处理PDF文件        pdf_path = os.path.join(pdf_directory, filename)        with open(pdf_path, "rb") as file:            pdf = PdfReader(file)            text = "".join(page.extract_text() for page in pdf.pages)            if search_keywords_in_text(text, keywords):                if filename not in copied_files:  # 检查是否已复制文件                    shutil.copy(pdf_path, os.path.join("result", filename))                    copied_files.append(filename)                print("*" * 30)                print(f"在文件 '{filename}' 中找到以下包含关键字的段落:")                print("*" * 30)                for page in pdf.pages:                    for paragraph in page.extract_text().split("\n"):                        if any(keyword in paragraph for keyword in keywords):                            print(paragraph)    elif filename.endswith(".docx"):        # 处理DOCX文件        docx_path = os.path.join(pdf_directory, filename)        doc = docx.Document(docx_path)        text = "".join(paragraph.text for paragraph in doc.paragraphs)        if search_keywords_in_text(text, keywords):            if filename not in copied_files:  # 检查是否已复制文件                shutil.copy(docx_path, os.path.join("result", filename))                copied_files.append(filename)            print("*" * 30)            print(f"在文件 '{filename}' 中找到以下包含关键字的段落:")            print("*" * 30)            paragraphs_with_keyword = extract_paragraphs_with_keyword(doc, keywords)            for paragraph in paragraphs_with_keyword:                print(paragraph) # 提示已完成处理 print("处理完成。")



鸡貔鹈之诗

代码杠杆的魔力下,我心中荡起了一阵难以言喻的喜悦,这个神奇的生物,承载着我对编码世界的深深热爱,将我的生活压力渐渐消散,换来更多的快乐与宁静。

编程开启了一扇通往无限可能的大门。无论是探索问题的解决方案,还是自动化琐碎的任务,亦或是创造出令人惊叹的应用程序,编程都赋予了我无穷的力量,使我能够舒展翅膀,在数字的世界中自由飞翔。

如果你渴望领略编程的魅力,只需选定一门语言,如Python、JavaScript、Java等,踏上这段奇妙之旅。借助鸡貔鹈,在线教程、编程平台和开发工具,你将迸发出个人兴趣与无限创造力。无论是解决实际问题还是追逐内心的激情,编程将为你开启一扇通往快乐与成就的大门。

让我们怀揣着文艺的梦想,在编程的世界中减轻生活的压力,释放更多快乐的光芒吧!让我们与鸡貔鹈一同起舞,以代码的杠杆轻松超越生活的难题,享受创作和探索带来的美好!

爱上鸡貔鹈, 让代码杠杆减轻你的生活压力,  😄

微信号: jesseshachou
备注: gpt爱好者
或扫二维码  

提升效率之道:用一键搜寻文件内关键字并复制的秘诀的评论 (共 条)

分享到微博请遵守国家法律