Python 合并目录中以相似名称开头的PDF文件
我有几个PDF文件位于桌面上一个名为Highlighted的文件夹中,并将该目录的路径存储到名为Python 合并目录中以相似名称开头的PDF文件,python,merge,pypdf2,Python,Merge,Pypdf2,我有几个PDF文件位于桌面上一个名为Highlighted的文件夹中,并将该目录的路径存储到名为filePath的变量中 给定名为actorList的演员姓名列表,我想合并文件路径目录中以类似姓名开始的所有PDF(例如,亚当、桑德勒)(请参见下面的图像) 我尝试了所有的方法,但没有运气!有什么想法吗???将合并移动到外部for循环中后,问题就解决了。我得到了NoneType错误,因为merge每次通过merge.close()关闭后都没有初始化 #merge=PdfFileMerger()==
filePath
的变量中
给定名为actorList
的演员姓名列表,我想合并文件路径
目录中以类似姓名开始的所有PDF(例如,亚当、桑德勒)(请参见下面的图像)
我尝试了所有的方法,但没有运气!有什么想法吗???将
合并
移动到外部for
循环中后,问题就解决了。我得到了NoneType
错误,因为merge
每次通过merge.close()
关闭后都没有初始化
#merge=PdfFileMerger()====>从外部移动PdfFileMerger()
对于actorList中的actorName:
合并=Pdfilemerger()#
import os
from PyPDF2 import PdfFileMerger
actorList = ['Adam, Sandler', 'Daniel, Craig', 'Jennifer, Aniston']
filePath = r'C:\Users\Mike\Desktop\Highlighted' + '\\'
fileList = []
for actorName in actorList:
for path, currentDirectory, files in os.walk(filePath):
for fileName in files:
if fileName.startswith(actorName):
fileList.append(fileName)
# Append & Merge all PDFs starting with similar names
merger = PdfFileMerger()
for actorName in actorList:
for fileName in fileList:
if actorName not in fileName:
continue
merger.append(filePath + fileName)
merger.write(filePath + actorName + '.pdf')
merger.close()
# merger = PdfFileMerger() =====> move the PdfFileMerger() from OUTSIDE
for actorName in actorList:
merger = PdfFileMerger() # <===== to INSIDE
for fileName in fileList:
if actorName not in fileName:
continue
merger.append(filePath + fileName)
merger.write(filePath + actorName + '.pdf')
merger.close()