首先,对于模糊的标题感到抱歉,因为我不知道该怎么称呼它。
这是我遇到的问题,我正在创建一个像这样的字典结构:
requestDict["001"]["request"] = "GET / HTTP..."
requestDict["001"]["response"] = "HTTP 1.1 OK..."
等
但这不起作用
def fiddler_convert(filename):
archive = zipfile.ZipFile(filename, "r")
requestDict = {}
for name in archive.namelist():
if name.find(".txt") != -1:
requestNum = (name.split("_")[0]).split("/")[1]
requestDict[requestNum] = {}
if name.find("_c.txt"):
requestDict[requestNum]["request"] = archive.read(name)
elif name.find("_s.txt"):
requestDict[requestNum]["response"] = archive.read(name)
else:
print "wat"
for key, value in requestDict:
print key + ":" + value
archive.close()
我收到for key, value in requestDict:
的错误
ValueError: too many values to unpack
这是为什么?每个value
的类型只是一个字符串,即“001”,“002”等。
想知道是否有人有任何想法?输入都很好(即。requestNum
变量设置为“001”,archive.read(name)
是好的。)
答案 0 :(得分:5)
字典迭代器返回的值是键,而不是元组(key, value)
。请考虑使用items()
或iteritems()
代替。