0

我有脚本对文件进行一些排序并生成一个看起来像 statfiles = [filename1, filename2, felename3......] 的元组。然后我需要为这些文件获取相应的 PDF,从该文件中提取一页并创建一个包含所有已处理 pdf 的 zip 文件。现在,我只有将提取的页面保存到单独的 (plots_ext) 临时文件夹中,然后从该文件夹中获取文件并将它们放入存档中,才能实现这一点。我确信它可以在不实际保存到临时文件夹的情况下完成。但是我在 Python 方面没有那么丰富的经验,所以我还不确定如何完成这项任务。

这是我执行提取/压缩任务的代码部分:

pdfs = zipfile.ZipFile("hi_eff.zip","w")

for item in statfiles:

     output = pyPdf.PdfFileWriter()
     input1 = pyPdf.PdfFileReader(open('plots/'+item+".pdf", "rb"))
     output.addPage(input1.getPage(0))
     outputStream = open('plots_ext/'+item+".pdf", "wb")
     output.write(outputStream)
     outputStream.close()    

try:
    pdfs.write('plots_ext/'+item+".pdf")
except:
    print ('No PDF file for ', filename)

pdfs.close()
4

1 回答 1

0

您应该能够将 outputStream 替换为 StringIO 对象并使用 ZipFile.writestr(StringIO.getvalue()) 将其写出。

于 2013-08-08T19:52:04.250 回答