[英]FileNotFound error / reading PDF Files with PyPDF2 and os.listdir()
我有以下腳本將幾個 PDF 合並在一起:
import PyPDF2
import sys
import os
inputs = sys.argv[1]
list = os.listdir(inputs)
merger = PyPDF2.PdfFileMerger()
for pdf in list:
merger.append(pdf)
merger.write('merged.pdf')
print('All done')
包含文件的文件夾與運行腳本位於不同的目錄中,因此我插入了完整路徑。
從終端python3 pdf-merger.py /Users/user/Documents/pdf_list
,我收到以下錯誤:
Traceback (most recent call last):
File "pdf-merger.py", line 11, in <module>
merger.append(pdf)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/PyPDF2/merger.py", line 203, in append
self.merge(len(self.pages), fileobj, bookmark, pages, import_bookmarks)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/PyPDF2/merger.py", line 114, in merge
fileobj = file(fileobj, 'rb')
FileNotFoundError: [Errno 2] No such file or directory: 'card.pdf'
我還嘗試了另一種方法:
import PyPDF2
import sys
import os
inputs = sys.argv[1]
list = [os.path.join(inputs,a) for a in os.listdir(inputs)]
merger = PyPDF2.PdfFileMerger()
for pdf in list:
merger.append(pdf)
merger.write('merged.pdf')
print('All done')
這次我得到一個PyPDF2.utils.PdfReadError: Could not read malformed PDF file
,不管它是什么文件。
有任何想法嗎?
發現了問題。 目錄中有一個隱藏的.DS_Store
文件損壞了腳本。
if pdf.endswith('.pdf')
解決了問題,則忽略它!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.