need more than 2 values to unpack(已经解决)

need more than 2 values to unpack(已经解决)

for ids,name,address,dh in xinxi.items():
        print ids,name,address,dh
    f.close

   使用一个字典,然后用上面的语句试图输出,但是报错: need more than 2 values to unpack

   请问是为什么?



QUOTE:
原帖由 nemanman 于 2006-4-19 02:31 发表
for ids,name,address,dh in xinxi.items():
        print ids,name,address,dh
    f.close

   使用一个字典,然后用上面的语句试图输出,但是报错: need more than 2 values to unpack

   请问是为什么?

根据错误提示判断,在for的后面参数个数不匹配。
items()只会返回两个值,你却使用4个值来接收当然不对了。
那该怎么样输出一个字典的全部信息?

who can tell me?
for key,value in xinxi.items():
        print "*** key is :"+key + "   value is " +  value

试试看
谢谢楼上的,这样可以

但还有个问题,我用一个文件保存了多个这个字典结构(用cPickle.dump()),我想把它全部输出来

my code: while xinxi=cPickle.load(f):
                       ......
但是不行,请问该怎么做?
代码能否贴出来看看
能否把字典组织一下,遍历字典到达预期目的
其实我想问的就是: 一个文件里保存了多个同样的字典,怎么样才能遍历输出整个文件?

用cPickle.load() 时如何判断已到达了文件结尾并安全退出?
找到答案了:  while True:
                              try:
                                   xinxi=cPickle.load(f)
                                   for key,value in xinxi.items():
                                         print key,value
                              except EOFError:
                                    break

这样就可以了