为了账号安全,请及时绑定邮箱和手机立即绑定

如何在不附加先前输入的情况下合并和关闭 PyPDF

如何在不附加先前输入的情况下合并和关闭 PyPDF

MM们 2023-12-29 16:16:37
我在合并多个 pdf 时遇到问题,因为我必须在文件夹之间循环并合并两个匹配的文件。这很容易完成,但是当我:input1.append(file1)input2.append(file2)PDFFileMerger.write(output)合并发生,但下一次迭代包括之前的输入等,使最后一个迭代成为一个巨大的 pdf 文件,而出现的事件彼此重复for i in range(nPdfs):    abr = onlypdf[i]    abr = abr.replace('.pdf', '')    for j in range(nXl):        pdf_file = open('SEPTIEMBRE DE 2020/' + onlyfiles[j], 'rb')        read_pdf = pdf.PdfFileReader(pdf_file)        number_of_pages = read_pdf.getNumPages()        page = read_pdf.getPage(0)        page_content = page.extractText()        if abr in page_content:            file1 = onlypdf[i]            file2 = onlyfiles[j]    print(file1)    print(file2)    print(file1+' esta en '+file2)    input1 = open('Combinadora/documentos/'+file1, 'rb')    input2 = open('SEPTIEMBRE DE 2020/'+file2, 'rb')    merger.append(input1)    merger.append(input2)    input1.close()    input2.close()    print('archivo creado')    output = open(abr+'-'+file2, 'wb')    merger.write(output)    output.close()这是我的代码,我是否将其拧入循环中?
查看完整描述

1 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

PyPDF 是一个很棒的库,但我也遇到了一些内存问题。因此,通常我使用单独的进程来创建合并(在作业后终止),或者您可以删除 (del) 实际对象。请记住,即使您找到解决此问题的棘手方法,也可能会发生内存泄漏,因此我强烈建议创建和终止进程。



查看完整回答
反对 回复 2023-12-29
  • 1 回答
  • 0 关注
  • 83 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信