我设置了一个脚本,我在给定目录中搜索包含“cover”,“resume”和“references”的pdf文件,将它们插入到列表中,然后合并它们。搜索词看起来像这样,其中键是搜索词,值是应该插入列表的索引:
searchTerms = {"cover": 0,
"resume":1,
"references":2}
初始列表如下所示:
pdfsToBeMerged = ["placeholder", "placeholder", "placeholder"]
在搜索完文件并将其附加到此列表后,我遍历列表并删除所有“占位符”项。然后合并这些文件。
我想知道是否有一个Python函数会以某种方式自动化这个“占位符”步骤?就像一个插入searchTerm并将其附加到索引处的空白列表并保持的函数。例如,如果首先找到“引用”文件,它将被附加到索引2并且保持,无论它是否找到其他文件?
答案 0 :(得分:1)
列出清单:
pdfsToBeMerged = [[], [], []]
然后您可以append
到正确的列表。
for term in searchTerms.keys()
if term in filetext:
pdfsToBeMerged[searchTerms[term]].append(filename)
答案 1 :(得分:0)
这不是您可能想要的解决方案,但是包含占位符可能不是一个大问题。
更简洁的方法如下:
# Initialize with None instead of "placeholder"
pdfs_to_be_merged = [None] * 3
# Insertion as usual
pdfs_to_be_merged[index] = pdf
# Get the cleaned list
[pdf for pdf in pdfs_to_be_merged if pdf is not None]