python3-使用断言的错误实践?
我有一个python3脚本,它使用简单的assert语句来比较两个变量的值python3-使用断言的错误实践?,python,python-3.x,security,Python,Python 3.x,Security,我有一个python3脚本,它使用简单的assert语句来比较两个变量的值 assert response['checksum'] == checksum 一个名为bandit的代码分析工具将此标记为不良做法,保护较少。 使用assert真的是一种糟糕的做法并且不太安全吗?您在链接中自己给出了答案: 发现一些项目使用assert强制执行接口约束。但是,通过编译优化的字节码(python-o生成的*.pyo文件),可以删除assert 因此,如果一个库依赖于assert来强制执行某种验证,而我
assert response['checksum'] == checksum
一个名为bandit的代码分析工具将此标记为不良做法,保护较少。
使用assert真的是一种糟糕的做法并且不太安全吗?您在链接中自己给出了答案: 发现一些项目使用assert强制执行接口约束。但是,通过编译优化的字节码(python-o生成的*.pyo文件),可以删除assert 因此,如果一个库依赖于
assert
来强制执行某种验证,而我将它与py2exe
或类似的工具一起使用,生成的代码很有可能会丢失断言和失败或跳过所述验证。这就是为什么您应该只在测试代码等中使用assert