我有一些代码可以打开并搜索一个充满 pdf 的文件夹。我正在使用 pdfminer 进行 pdf 转换。但是,我的一些 pdf 文件不可读。我希望我的代码能够处理转换工作的那些 pdf,并有效地跳过那些转换失败的 pdf。
我正在尝试使用 try/except 功能,但它似乎不起作用。对于失败的 pdf,异常有效。但是,对于转换工作的 pdf,try 和 exception 块都被执行。
这是我的代码:
fileNum = 0
d = shelve.open('PyDocSearch.db')
for file in fileList:
fileNum += 1
z = []
try:
doc = convert_pdf(filePath + '/' + file)
print 'Success:',file
docWords = doc.split()
x = Counter(docWords)
y = x.most_common()
for i,j in enumerate(y):
if j[0] not in commonWords:
z.append(j)
d[file] = z
except:
doc = 'fail'
print 'Fail:',file
d[file] = doc
d.close()
当 pdf 转换工作时,为什么两个块都在执行?而且,我怎样才能防止这种情况发生?谢谢!