2013-11-25 69 views
0

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

这里是我有,我创建的字典结构,像这样的问题:

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)正确)。

回答

5

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

+0

嗯,那是工作 - 我想我也需要阅读更多一点蟒蛇。谢谢,我会尽可能标记答案。 –