gpt4 book ai didi

python - 用漏勺捕捉空列表

转载 作者:太空狗 更新时间:2023-10-29 22:22:51 25 4
gpt4 key购买 nike

我正在使用 colander 来验证(和反序列化 json 数据)对一些网络服务的输入。

我想向漏勺模式添加规则以捕获空列表,但我不知道该怎么做。

现在我有以下示例,演示了使用两组不同的数据调用函数 f()。我希望后者触发 colander.Invalid 异常,因为 events 列表为空

import colander

def f(data):
class EventList(colander.SequenceSchema):
list_item = colander.SchemaNode(colander.Int())

class Schema(colander.MappingSchema):
txt = colander.SchemaNode(colander.String())
user = colander.SchemaNode(colander.String())
events = EventList()

try:
good_data = Schema().deserialize(data)
print 'looks good'
except colander.Invalid as e:
print "man, your data suck"


good_data = {'txt' : 'BINGO',
'user' : 'mogul',
'events' : [11, 22, 33]}
f(good_data)

bad_data = {'txt' : 'BOOM',
'user' : 'mogul',
'events' : []}
f(bad_data)

建议?

最佳答案

您是否尝试过使用 colander.Length 验证器?

尝试修改您的架构:

events = EventList(validator=colander.Length(min=1))

对于 bad_data 这应该引发:

Invalid: {'events': u'Shorter than minimum length 1'}

关于python - 用漏勺捕捉空列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18632562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com