gpt4 book ai didi

python - 仅显示回溯的第一行和最后一行

转载 作者:行者123 更新时间:2023-11-28 19:56:11 25 4
gpt4 key购买 nike

我用 python 构建了一个小的内部 DSL。我正在使用 assert 进行验证。如果最终用户输入了错误的参数,dsl 应该报告错误。目前这看起来像这样:

Traceback (most recent call last):
File "tests/maskedtimefilter_test/FilterDSL_test.py", line 63, in test_dsl_validation
input(0): self.regular
File "/Users/sh/reetz/pythonpath/maskedtimedata/maskedtimefilter.py", line 885, in __lshift__
kwargs = self.dsl_validation(kwargs)
File "/Users/sh/reetz/pythonpath/maskedtimedata/maskedtimefilter.py", line 1483, in dsl_validation
check_if_valid(parameter)
File "/Users/sh/reetz/pythonpath/maskedtimedata/dsl.py", line 47, in kernel_a
def kernel_a (x): assert isinstance(x, (list, tuple, np.ndarray)), "kernel must be a list."
AssertionError: kernel must be a list.

但最终用户是工程师,而不是计算机科学家。因此,最小的 Traceback 很方便。 是否可以将 Traceback 缩小到基本信息(哪里失败了,原因是什么)像这样?/强>

Traceback (most recent call last):
File "tests/maskedtimefilter_test/FilterDSL_test.py", line 63, in test_dsl_validation
input(0): self.regular
AssertionError: kernel must be a list.

我很不情愿地想使用普通打印件!

最佳答案

为什么不将回溯数据作为数组返回并从中返回呢?

import traceback
try:
codethatwillthrowanexception()
except:
exceptiondata = traceback.format_exc().splitlines()
exceptionarray = [exceptiondata[-1]] + exceptiondata[1:-1]

关于python - 仅显示回溯的第一行和最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20884761/

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