就我而言,我有一個主檔案夾“檔案”,檔案夾內有子檔案夾。在子檔案夾中,我試圖將 pdf 檔案合并到每個子檔案夾的一個 pdf 檔案中 這是我到目前為止的嘗試
import os
from PyPDF2 import PdfFileMerger
myDirectory = 'Documents'
mylist = list(map(lambda x: os.path.join(os.path.abspath(myDirectory), x),os.listdir(myDirectory)))
for d in mylist:
print(d)
sFolder = os.path.basename(d)
x = [a for a in os.listdir(d) if a.endswith('.pdf')]
merger = PdfFileMerger()
for pdf in x:
merger.append(open(pdf, 'rb'))
with open(sFolder '.pdf', 'wb') as fout:
merger.write(fout)
執行代碼時,我遇到了這樣的錯誤
Traceback (most recent call last):
File "demo.py", line 30, in <module>
merger.append(open(pdf, 'rb'))
FileNotFoundError: [Errno 2] No such file or directory: '2600-002947-374.pdf'
我該如何解決這樣的錯誤?錯誤的原因是pdf檔案的名稱嗎?
uj5u.com熱心網友回復:
您只需要更改這部分:
for pdf in x:
merger.append(open(os.path.join(d, pdf), 'rb'))
下面的完整代碼對我有用。
import os
from PyPDF2 import PdfFileMerger
myDirectory = 'Documents'
mylist = list(map(lambda x: os.path.join(os.path.abspath(myDirectory), x),os.listdir(myDirectory)))
for d in mylist:
print(d)
sFolder = os.path.basename(d)
x = [a for a in os.listdir(d) if a.endswith('.pdf')]
merger = PdfFileMerger()
for pdf in x:
merger.append(open(os.path.join(d, pdf), 'rb'))
with open(sFolder '.pdf', 'wb') as fout:
merger.write(fout)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/522278.html
標籤:Pythonpdf
