我可以将元组转换为参数列表'inline'吗?

时间:2014-10-10 10:30:55

标签: python python-2.7 parameters tuples

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!)

在一个声明中是否有一些整洁的方法?

1 个答案:

答案 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]