python - 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
行不通的...
解决方案
推荐阅读
- json.net - 无法创建 ITask 类型的实例。类型是接口或抽象类,不能实例化
- javascript - 如何将对象键设置为打字稿中另一个对象的值?
- c++ - c++字符串全局变量不能正常赋值
- mysql - Unexpected result in WHERE clause on AI ID field
- python - 如何在python中重载构造函数?
- python - django.db.utils.ProgrammingError:关系“-”不存在
- reactjs - 如何使用钩子或功能组件将行从反应表拖放到另一个表?
- linux - 将 ROS 日志重定向/转发到 journald
- css - Visual Studio 代码编辑器在我的 sass 代码中显示错误(代码下方的红线)
- java - spring boot junit mockito 空指针异常