Python中的字典问题

时间:2013-11-25 16:51:31

标签: python dictionary

首先,对于模糊的标题感到抱歉,因为我不知道该怎么称呼它。

这是我遇到的问题,我正在创建一个像这样的字典结构:

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)是好的。)

1 个答案:

答案 0 :(得分:5)

字典迭代器返回的值是键,而不是元组(key, value)。请考虑使用items()iteritems()代替。