文章目录
pdf 文件字符搜索 python脚本实现
要实现一个 Python 脚本来在指定目录中搜索 PDF 文件中的关键字,可以使用 PyPDF2
库来读取 PDF 文本,并结合 os
库来遍历文件系统。以下是一个简单的脚本示例:
import os
import PyPDF2
def search_keyword_in_pdfs(directory, keyword):
# 遍历指定目录及子目录下的所有文件
for root, _, files in os.walk(directory):
for file in files:
if file.endswith('.pdf'):
file_path = os.path.join(root, file)
try:
# 打开 PDF 文件
with open(file_path, 'rb') as pdf_file:
pdf_reader = PyPDF2.PdfReader(pdf_file)
# 遍历每一页并搜索关键字
for page in pdf_reader.pages:
text = page.extract_text()
if text and keyword.lower() in text.lower():
print(f"Keyword '{keyword}' found in: {file_path}")
break # 如果找到关键字,跳出当前文件的搜索
except Exception as e:
print(f"Error reading {file_path}: {e}")
# 指定目录和关键字
search_directory = 'd:/work/'
search_keyword = 'hello'
# 调用搜索函数
search_keyword_in_pdfs(search_directory, search_keyword)
说明
- 导入库:
os
:用于遍历目录结构。PyPDF2
:用于处理 PDF 文件。
search_keyword_in_pdfs
函数:- 使用
os.walk()
递归遍历指定目录及其子目录。 - 过滤出所有扩展名为
.pdf
的文件。 - 打开每个 PDF 文件,并使用
PyPDF2
读取每一页的文本。 - 搜索关键字(大小写不敏感),如果找到则打印文件路径。
- 使用
- 注意事项:
- 确保已安装
PyPDF2
库,可以通过pip install PyPDF2
安装。 - 脚本假定目录路径为 Windows 风格,请根据需要调整路径。
PyPDF2
可能对某些复杂的 PDF 格式解析不完全,遇到问题时需要进行错误处理(如上示例中的异常处理)。
- 确保已安装
请根据具体需要调整脚本,比如处理特殊字符或不同的编码格式。