python正则匹配文件夹内所有pdf文件名
时间: 2024-10-08 13:12:24 浏览: 54
在Python中,可以使用`re`模块配合`os`模块来匹配文件夹内所有的PDF文件。PDF文件通常以其`.pdf`作为后缀名,所以我们可以编写一个正则表达式来查找这个特定的后缀。下面是一个简单的示例:
```python
import os
import re
def find_pdf_files(directory):
# 正则表达式匹配 .pdf 结尾的文件
pdf_regex = r'\.pdf$'
# 获取目录下所有文件
files = os.listdir(directory)
# 使用正则匹配并筛选出PDF文件
pdf_files = [file for file in files if re.search(pdf_regex, file)]
return pdf_files
# 调用函数并传入你的文件夹路径
folder_path = 'your_directory_path'
pdf_files_in_folder = find_pdf_files(folder_path)
```
在这个例子中,`find_pdf_files()`函数会返回指定目录下所有匹配`.pdf`后缀的文件名列表。
相关问题
批量对文件夹内的pdf文件进行重命名,对原文件名截取字段进行重命名
您可以使用Python编写一个脚本来批量对文件夹内的pdf文件进行重命名。您可以使用os模块来列出文件夹中的所有文件,然后使用正则表达式来截取文件名中的字段,并使用os模块中的rename函数来重命名文件。以下是一个示例代码:
```python
import os
import re
folder_path = "/path/to/folder" # 文件夹路径
pattern = re.compile(r"(\d{4})-(\d{2})-(\d{2})") # 正则表达式,用于匹配文件名中的日期字段
for filename in os.listdir(folder_path):
if filename.endswith(".pdf"): # 只处理pdf文件
match = pattern.search(filename)
if match:
new_filename = f"{match.group(1)}年{match.group(2)}月{match.group(3)}日.pdf" # 新文件名格式
os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_filename)) # 重命名文件
```
请注意,这只是一个示例代码,您需要根据自己的需求进行修改。
利用python写一个爬取指定文件夹里所有PDF文件中的关键信息的脚本
可以使用 Python 的 PyPDF2 库来读取 PDF 文件,并使用正则表达式来匹配关键信息。以下是一个示例脚本:
```python
import os
import re
import PyPDF2
# 指定文件夹路径和关键信息的正则表达式
folder_path = '/path/to/folder'
regex = r'关键词1|关键词2'
# 遍历文件夹中的所有文件
for filename in os.listdir(folder_path):
filepath = os.path.join(folder_path, filename)
if not os.path.isfile(filepath) or not filename.endswith('.pdf'):
continue
# 打开 PDF 文件并读取内容
with open(filepath, 'rb') as f:
pdf_reader = PyPDF2.PdfFileReader(f)
content = ''
for page in pdf_reader.pages:
content += page.extractText()
# 使用正则表达式匹配关键信息
matches = re.findall(regex, content)
if matches:
print(filename, matches)
```
这个脚本将遍历指定文件夹中的所有 PDF 文件,读取其内容并使用正则表达式匹配关键信息。如果找到了匹配的关键信息,将打印出文件名和匹配结果。
阅读全文