Python中如何仅打印assert语句的断言消息?
仅打印断言消息的实现方法
要只打印断言的自定义消息而不输出完整回溯信息,最直接的方式是捕获AssertionError异常,然后提取并打印异常消息:
- 示例代码:
try: assert 5 == 4, "test" except AssertionError as e: print(e)
运行这段代码后,控制台只会输出:test
原理说明:默认情况下,未捕获的断言异常会触发Python的默认异常处理流程,输出完整的回溯栈和异常类型。通过显式捕获AssertionError,我们可以自定义异常处理逻辑,只打印异常对象中存储的自定义消息。
注意:不要使用python -O运行脚本,这个选项会直接跳过所有断言语句,不会触发任何断言相关的输出。
内容的提问来源于stack exchange,提问作者User
相关产品推荐
相关产品推荐

