在尝试遵循本书上的说明时,我遇到了一个错误,我担心这是由于我对循环的理解不正确。我的代码如下。
#! Python3
import PyPDF2, os
# Loop through all the PDF files
for filename in pdfFiles:
try:
pdfFileObj = open(filename, 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
except FileNotFoundError:
print('File not foungd ' + filename)
pass
# Read through all the PDF files.
for pageNum in range(1, pdfReader.numPages):
pageObj = pdfReader.getPage(pageNum)
pdfWriter.addPage(pageObj)
=====
结果是:
Traceback (most recent call last):
File "C:/…automate_py/combinesPdf.py", line 24, in <module>
for pageNum in range(1, pdfReader.numPages):
NameError: name 'pdfReader' is not defined
有人知道为什么找不到pdfReader
吗?非常感谢。
我尝试过调整缩进,但是似乎没有用。 :(
答案 0 :(得分:0)
您犯了缩进错误。 arg2
是在代码的第一个循环中定义的,因此第二个应该在该代码块中。这是该书上该示例的完整注释代码:
pdfReader
答案 1 :(得分:0)
有相同的问题(Python 3.x,Windows 10)。这对我有用:
from PyPDF2 import PdfFileReader
with open("C:/yourpdf.pdf", 'rb') as f:
pdf = PdfFileReader(f)
page = pdf.getPage(1)
text = page.extractText()
print(text)