我正在运行以下代码来创建一个新的PDF文件,其中包含源PDF的第一页以外的所有文件:
import os
from pyPdf import PdfFileReader, PdfFileWriter
inputFile = PdfFileReader(file("/path/to/file", "rb"))
outputPDF = PdfFileWriter()
for page in inputFile.pages[1:]:
outputPDF.addPage(page)
outputFile = open("/path/to/output/file", "wb")
outputPDF.write(outputFile)
outputFile.close()
当我尝试运行它(Python 2.7.6)时,抛出以下异常:
for page in inputFile.pages[1:]:
TypeError: sequence indices must be integers
如果我停止使用切片表示法并只使用for page in inputFile.pages:
,我不会有任何例外。
我做错了什么,或者只是pyPdf库中的错误?
答案 0 :(得分:3)
显然,他们还没有设置__getitem__
方法来处理切片 - 只有整数。在您的情况下,您可以使用itertools.islice
来获取所需页面的可迭代内容。