【发布时间】:2015-12-18 04:06:06
【问题描述】:
我正在尝试使用输入文件读取每一行并使用该行搜索 google 并打印查询中的搜索结果。我得到了来自维基百科的第一个搜索结果,这很好,但后来我得到了错误:文件“test.py”,第 24 行,在 字典[str(lineToRead)].append(str(i)) KeyError:“鼠标”
input file pets.txt looks like this:
cat
dog
bird
mouse
inputFile = open("pets.txt", 'r') # Makes File object
outputFile = open("results.csv", "w")
dictionary = {} # Our "hash table"
compare = "https://en.wikipedia.org/wiki/" # urls will compare against this string
for line in inputFile.read().splitlines():
# ---- testing ---
print line
lineToRead = line
inputFile.close()
from googlesearch import GoogleSearch
gs = GoogleSearch(lineToRead)
#gs.results_per_page = 5
#results = gs.get_results()
for i in gs.top_urls():
print i # check to make sure this is printing out url's
compare2 = i
if compare in compare2: # compare the two url's
dictionary[str(lineToRead)].append(str(i)) #write out query string to dictionary key & append the urls
for i in dictionary:
print i
outputFile.write(str(i))
for j in dictionary[i]:
print j
outputFile.write(str(j))
#outputFile.write(str(i)) #write results for the query string to the results file.
#to check if hash works print key /n print values /n print : /n print /n
#-----------------------------------------------------------------------------
【问题讨论】:
-
你在没有定义字典[str(lineToRead)]的情况下调用dictionary[str(lineToRead)].append。