2013-11-25 96 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

嗯,那是工作 - 我想我也需要閱讀更多一點蟒蛇。謝謝,我會盡可能標記答案。 –