为什么我不能使用切片表示法迭代pyPDF页面

时间:2014-05-26 02:44:14

标签: python python-2.7 slice pypdf

我正在运行以下代码来创建一个新的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库中的错误?

1 个答案:

答案 0 :(得分:3)

显然,他们还没有设置__getitem__方法来处理切片 - 只有整数。在您的情况下,您可以使用itertools.islice来获取所需页面的可迭代内容。