首页 > 解决方案 > py2 和 py3 兼容代码,用于替换函数中的扩展解包 (*args)

问题描述

我有一些 python3 代码,我试图使其与 python2 兼容。这很容易使用six包和__future__,但我找不到解决“扩展解包”的方法(即使用*args语法)。例如,函数:

def func(a, *args, b=None, **kwargs):
    pass

使它与python2和python3兼容的最优雅和/或最简单的方法是什么?中是否有任何解决方案six,例如包装器或其他东西?

虽然问题“带有 *args 和 **kwargs 的默认参数”是相似的,但解决方案是使用不同的函数而不是使示例工作(当然,这可能是不可能的)。即func(a, b=None, *args, **kwargs)相反。

SyntaxError由于它在执行前引发了一个try-except行不通的...

标签: pythonpython-3.xpython-2.xpython-2to3six

解决方案


推荐阅读