直接双击启动
键入所需内容
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 osimport shutilimport docximport timefrom PyPDF2 import PdfReaderdef 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爱好者
或扫二维码