我有一个运行列表然后加载字典的函数。 它在函数内输出正常,但返回字典是空的吗?
95 def getAttachmentDict(messageIds):
96 messageTable = defaultdict(list)
97 for id in messageIds:
98 uri = "/message/" + id
99 res = getMessages(uri)
100 doc = xml.dom.minidom.parse(res)
101 idUrl = doc.getElementsByTagName("url")
102 alist = []
103 for i in idUrl:
104 urlData = i.childNodes[0].nodeValue
105 alist.append(urlData)
106 messageTable[id] = alist
107 print "\n"
108 for key, value in messageTable.items():
109 print "Message ID: " + key
110 print "\n".join(value)
111 return messageTable
169 getAttachmentDict(messageIds)
170 pdb.set_trace()
171 print messageTable
消息ID:MyUHRnzm7AXkFmiKocUjzn 配置安全-report.html 消息ID:RqfljNnyz63bBpGLtL4B2D 个体report.csv
/Work/ftpTool/acquire.py(171)主() - >打印messageTable (Pdb)n {}
答案 0 :(得分:1)
你没有对返回值做任何事情。这只是打印你称为messageTable
169 getAttachmentDict(messageIds)
170 pdb.set_trace()
171 print messageTable
试试这个
169 messageTable = getAttachmentDict(messageIds)
170 pdb.set_trace()
171 print messageTable
答案 1 :(得分:1)
当您致电getAttachmentDict()
时,您需要将结果分配给名称(可以是messageTable
或您要使用的任何其他名称)。例如:
169 messageTable = getAttachmentDict(messageIds)
170 pdb.set_trace()
171 print messageTable