我有一些python3代码,试图与python2兼容。使用six
软件包和__future__
基本上很容易,但是我找不到解决“扩展拆包”的方法(即使用*args
语法)。例如,函数:
def func(a, *args, b=None, **kwargs):
pass
使它与python2和python3兼容的最优雅和/或最简单的方法是什么? six
中是否有任何解决方案,例如包装纸或其他东西?
尽管问题“ Default arguments with *args and **kwargs”相似,但解决方案是使用 different 函数而不是使示例工作(尽管当然,这不可能)。即func(a, b=None, *args, **kwargs)
。
由于它在执行之前会引发SyntaxError
,因此try-except
将不起作用...