python3-使用assert的错误做法


我有一个python3脚本,它使用简单的assert语句来比较两个变量的值。
assert response['checksum'] == checksum

一个名为bandit的代码分析工具将此标记为不良做法,并且保护较少。https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html

使用断言真的是一种糟糕的做法,而且不太安全吗?

您自己在链接中给出了答案:

发现一些项目使用assert来强制执行接口约束。然而,在编译到优化的字节码(生成*.pyo文件的python-o)时,assert被删除了。

因此,如果一个库依赖于assert来执行某种验证,而我将其与py2exe或类似的工具一起使用,则生成的代码很可能会丢失断言,从而失败或跳过所述验证。这就是为什么您应该只在测试代码等中使用assert

相关内容

  • 没有找到相关文章

最新更新