traceback.format_exception()
有三个参数。
sys.exc_info()
返回三个元素的元组,这三个元素是traceback.format_exception()
有没有办法避免两行“转换”:
a,b,c = sys.exc_info()
error_info = traceback.format_exception(a,b,c)
显然
error_info = traceback.format_exception(sys.exc_info())
不起作用,因为format_exception()
有三个参数,而不是一个元组(facepalm!)
在一个声明中是否有一些整洁的方法?
答案 0 :(得分:2)
您可以使用*
运算符从列表或元组中解压缩参数:
error_info = traceback.format_exception(*sys.exc_info())
以下是docs:
中的示例>>> range(3, 6) # normal call with separate arguments
[3, 4, 5]
>>> args = [3, 6]
>>> range(*args) # call with arguments unpacked from a list
[3, 4, 5]