“类型‘NoneType’对象没有LEN()”的错误(“object of type 'No

2019-07-30 19:31发布

我对这个代码看到怪异的行为:

images = dict(cover=[],second_row=[],additional_rows=[])

for pic in pictures:
    if len(images['cover']) == 0:
        images['cover'] = pic.path_thumb_l
    elif len(images['second_row']) < 3:
        images['second_row'].append(pic.path_thumb_m)
    else:
        images['additional_rows'].append(pic.path_thumb_s)

我的web2py应用程序给我这个错误:

 if len(images['cover']) == 0: TypeError: object of type 'NoneType' has no len() 

我无法弄清楚什么是错在这。 也许有的范围的问题?

Answer 1:

分配给新的东西images['cover']

images['cover'] = pic.path_thumb_l

其中pic.path_thumb_lNone在代码中的某个点。

你大概意思,而不是追加:

images['cover'].append(pic.path_thumb_l)


Answer 2:

你的问题是,

if len(images['cover']) == 0:

检查图像的值的长度[“盖”]你的意思做的是检查是否有一个值。

做到这一点,而不是:

if not images['cover']:



Answer 3:

指定第一个时间: images['cover'] = pic.path_thumb_l ,它取代了空列表的初始存储在值images['cover']与值pic.path_thumb_l其是None

也许你在这行代码必须是images['cover'].append(pic.path_thumb_l)



文章来源: “object of type 'NoneType' has no len()” error
标签: python web2py