TypeError:' datetime.date'按日期迭代dict时,对象不可迭代

时间:2017-05-19 06:22:38

标签: python datetime dictionary

我正在尝试迭代dict,其中包含日期作为键:

for d, dir in subdirs:
    print("d=", d, ", dir=", dir)

其中子目录是

datetime.date(2016, 9, 29): ['tiles/37/U/DB/2016/9/29/0/'],datetime.date(2017, 2, 23): ['tiles/37/U/DB/2017/2/23/0/'], datetime.date(2016, 4, 5): ['tiles/37/U/DB/2016/4/5/0/']

等等。

我正在接收

  

TypeError:' datetime.date'对象不可迭代

为什么以及如何解决?

1 个答案:

答案 0 :(得分:4)

试试这个 -

for d, dir in subdirs.items():
    print("d=", d, ", dir=", dir)

如果subdirs是dict,则在for中使用它只会为您提供密钥(在您的情况下为datetime.date对象),而d, dir会尝试解压缩它们。这就是错误的原因。

使用items()将返回(key, value)对,该对将被解压缩并分别存储在ddirs