python – 是否有任何有条件的妖娆规则?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 是否有任何有条件的妖娆规则?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含916字,纯文字阅读大概需要2分钟。
内容图文
![python – 是否有任何有条件的妖娆规则?](/upload/InfoBanner/zyjiaocheng/756/90c346eaa34a4cafaf1e56982369982c.jpg)
有没有办法用妖娆来定义条件规则?
这是我的架构:
from voluptuous import Schema, All, Any
schema = Schema({
'resolution': All(str, Any('1920x1080', '1280x720')),
'bitrate': 20,
})
没关系,但现在我想根据分辨率值验证比特率值.如果我的分辨率为1920×1080,那么我需要保证比特率是这些值之一:20,16,12,8;当它是1280×720时,比特率应该是以下之一:10,8,6,4.
我怎样才能做到这一点?有关于project’s github page的信息,但我找不到我的情况.
解决方法:
Voluptuous支持自定义验证函数[1],但它们仅接收当前验证的值作为输入参数,而不是任何其他先前验证的值.这意味着尝试做“比特率”之类的事情:( lambda比特率,分辨率:任何(20,16,12,8)如果比特率(…)否则任何(10,8,6,4)将遗憾不会工作.
您可以尝试使用“比特率”:任意(20,16,12,10,8,6,4),然后自己进行二次验证,以确保它与分辨率一致.
另一种方法可能是为完整的字典编写验证器函数,其中函数同时检查分辨率和比特率,但这样你就可以编写一些你通常从性感中获得的代码.
[1] https://github.com/alecthomas/voluptuous#validation-functions
内容总结
以上是互联网集市为您收集整理的python – 是否有任何有条件的妖娆规则?全部内容,希望文章能够帮你解决python – 是否有任何有条件的妖娆规则?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。