我正在尝试构建一个程序,以查找pdf文件中的特定单词或短短语。文件加载良好,但是当页面更改时搜索pdf时出现问题。这是我的代码:
import PyPDF2
import glob, os, shutil
import textract
os.chdir(r"C:\Users\Dani\Desktop\patent")
goodfiles=[]
for file in glob.glob("*.pdf"):
pdfFileObj = open(file, 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj, strict=False)
search_word_main = "isophthalic"
word_main=[]
search_word_sub = ["acid index", "acid value", "acid number", "acidity index","acidity"]
word_sub=[]
for pageNum in range(1, pdfReader.numPages):
pageObj = pdfReader.getPage(pageNum)
text = pageObj.extractText().encode('utf-8')
search_text = text.lower().split()
toprange=len(search_text)-1
for len in range (toprange):
if search_word_main in search_text[len].decode("utf-8"):
print(search_word_main)
for key in search_word_sub:
if key in search_text[len].decode("utf-8") + " " + search_text[len+1].decode("utf-8"):
print(key)
在pdf的第一页上,一切正常,但是,每当移至第二页时,都会出现此错误:
Traceback (most recent call last):
File "test.py", line 19, in <module>
toprange=len(search_text)-1
TypeError: 'int' object is not callable
我不明白为什么每当页面更改时都会发生这种情况。如果我只是尝试打印toprange变量而不是将其添加到循环中,那没有问题,我会得到toprange的值。 for循环似乎存在问题,但我似乎找不到位置。你能帮我解决这个问题吗?
先谢谢了。