在
Python中,你可以使用`os`, `re`, 和 `
pdfplumber` 这些库来查找指定
文件夹下的
PDF文件中包含特定
关键字,并提取前后10个字符的信息。以下是
一个基本示例:
```
python
im
port os
im
port re
from
pdfplumber im
port
PDF
# 定义要
搜索的
关键字和要保存结果的路径
keyword = "your_keyword"
output_folder = "./output"
def extract_text_from_
pdf(
pdf_path):
with
PDF(
pdf_path) as
pdf:
text = ""
for page in
pdf.pages:
text += page.extract_text()
return text
def search_and_extract(
pdf_text, keyword, n_chars=10):
matches = [m.start() - n_chars for m in re.finditer(keyword,
pdf_text)]
return [(match,
pdf_text[match : match + (n_chars * 2)]) for match in matches]
# 遍历
文件夹
for root, dirs, files in os.walk(".", topdown=True):
if ".
pdf" in files:
file_path = os.path.join(root, files[0])
pdf_text = extract_text_from_
pdf(file_path)
if keyword in
pdf_text:
matched_results = search_and_extract(
pdf_text, keyword)
# 保存匹配到的结果
save_results(matched_results, output_folder)
def save_results(results, folder):
os.makedirs(folder, exist_ok=True)
for index, match_info in enumerate(results):
start, co
ntext = match_info
with open(f"{folder}/result_{index}.txt",
'w
') as f:
f.write(f"Keyword found at position {start}, context: {context}")
# 调用函数开始处理
search_and_extract(keyword=keyword, n_chars=10)
```