Python 合并目录中以相似名称开头的PDF文件

Python 合并目录中以相似名称开头的PDF文件,python,merge,pypdf2,Python,Merge,Pypdf2,我有几个PDF文件位于桌面上一个名为Highlighted的文件夹中,并将该目录的路径存储到名为filePath的变量中 给定名为actorList的演员姓名列表,我想合并文件路径目录中以类似姓名开始的所有PDF(例如,亚当、桑德勒)(请参见下面的图像) 我尝试了所有的方法,但没有运气!有什么想法吗???将合并移动到外部for循环中后,问题就解决了。我得到了NoneType错误,因为merge每次通过merge.close()关闭后都没有初始化 #merge=PdfFileMerger()==

我有几个PDF文件位于桌面上一个名为Highlighted的文件夹中,并将该目录的路径存储到名为
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()