我在合并多個(gè) pdf 時(shí)遇到問(wèn)題,因?yàn)槲冶仨氃谖募A之間循環(huán)并合并兩個(gè)匹配的文件。這很容易完成,但是當(dāng)我:input1.append(file1)input2.append(file2)PDFFileMerger.write(output)合并發(fā)生,但下一次迭代包括之前的輸入等,使最后一個(gè)迭代成為一個(gè)巨大的 pdf 文件,而出現(xiàn)的事件彼此重復(fù)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()這是我的代碼,我是否將其擰入循環(huán)中?
1 回答

Qyouu
TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超11個(gè)贊
PyPDF 是一個(gè)很棒的庫(kù),但我也遇到了一些內(nèi)存問(wèn)題。因此,通常我使用單獨(dú)的進(jìn)程來(lái)創(chuàng)建合并(在作業(yè)后終止),或者您可以刪除 (del) 實(shí)際對(duì)象。請(qǐng)記住,即使您找到解決此問(wèn)題的棘手方法,也可能會(huì)發(fā)生內(nèi)存泄漏,因此我強(qiáng)烈建議創(chuàng)建和終止進(jìn)程。
添加回答
舉報(bào)
0/150
提交
取消