我使用以下代码生成密钥错误(1,2),我不确定原因:
import concurrent.futures
import urllib.request
import json
myurls2 = {}
for x in range(1, 15):
for y in range(1, 87):
strvar1 = "%s" % (x)
strvar2 = "%s" % (y)
with open("C:\\Python33\\NASDAQ Stock Strings\\NASDAQ_Config_File_{}_{}.txt".format(x,y),"r") as f:
myurls2[x,y] = f.read().replace('\n', '')
#print("myurls_" + str(strvar1) + "_" + str(strvar2) + "=", myurls2[x,y])
#print(myurls2[x,y])
URLS = [myurls2[1,1],myurls2[1,2],myurls2[1,3],myurls2[1,4],myurls2[1,5]]
当取消注释'#print(myurls2 [x,y])'行时,你可以看到字典定义正确地迭代生成字典值的文本文件,但是不能引用字典键。 / p>
答案 0 :(得分:2)
在x=1
和y=1
的第一次传递中,您只定义了myurls[1,1]
。换句话说,您尚未定义myurls[1,2]
(或任何其他myurls
)。
在URLS
和for x
循环完成后,您确定不应该定义for y
吗?
正如@ inspectorG4dget所说,URLS
可能需要在for循环范围之外进行去除。