C:\Users\74289\文本挖掘\词频统计\venv\Scripts\python.exe C:\Users\74289\文本挖掘\词频统计\爬html\html转文本.py Traceback (most recent call last): File "C:\Users\74289\文本挖掘\词频统计\爬html\html转文本.py", line 15, in <module> reader = PyPDF2.PdfFileReader(f) File "C:\Users\74289\文本挖掘\词频统计\venv\lib\site-packages\PyPDF2\_reader.py", line 1974, in __init__ deprecation_with_replacement("PdfFileReader", "PdfReader", "3.0.0") File "C:\Users\74289\文本挖掘\词频统计\venv\lib\site-packages\PyPDF2\_utils.py", line 369, in deprecation_with_replacement deprecation(DEPR_MSG_HAPPENED.format(old_name, removed_in, new_name)) File "C:\Users\74289\文本挖掘\词频统计\venv\lib\site-packages\PyPDF2\_utils.py", line 351, in deprecation raise DeprecationError(msg) PyPDF2.errors.DeprecationError: PdfFileReader is deprecated and was removed in PyPDF2 3.0.0. Use PdfReader instead. 进程已结束,退出代码1
时间: 2023-07-06 14:40:22 浏览: 41
这个错误提示是因为 PyPDF2 在 3.0.0 版本中移除了 `PdfFileReader`,使用了 `PdfReader` 替代。可以将代码中的 `PdfFileReader` 替换为 `PdfReader`,并且修改导入的方式。
修改后的代码如下所示:
```python
import os
from PyPDF2 import PdfReader
source_dir = r'C:\Users\74289\文本挖掘\词频统计\爬pdf\pdf版文献' # 原始文件夹路径
target_dir = r'C:\Users\74289\文本挖掘\词频统计\pdf转文本版文献' # 目标文件夹路径
if not os.path.exists(target_dir):
os.mkdir(target_dir)
for root, dirs, files in os.walk(source_dir):
for file in files:
if file.endswith('.pdf') or file.endswith('.PDF'):
pdf_file = os.path.join(root, file)
with open(pdf_file, 'rb') as f:
reader = PdfReader(f)
content = ''
for page in reader.pages:
content += page.text
txt_file = os.path.join(target_dir, file[:-4] + '.txt')
with open(txt_file, 'w', encoding='utf-8') as f:
f.write(content)
```
这个代码将使用 `PdfReader` 来读取 PDF 文件,并将其转换为文本文件,存储到指定的目标文件夹中。