更新时间:2025-08-14 gmt 08:00
python语言的函数从v1版本迁移到v2版本时需注意哪些兼容性问题?-j9九游会登录
- args的区别
v1使用的语法:
args = parser.parse_args()
如果迁移到v2,需修改为:
args = parser.parse_args(args=[])
因为v1和v2 python runtime的sys.argv结构不同。
v2是['/home/snuser/runtime/python3.6/server.py', '127.0.0.1:31536', '/opt/function/code'],比v1多了后面2个参数。
- asyncio的区别
v1使用的语法:
loop = asyncio.get_event_loop() loop.run_until_complete(func(arg1, arg2)) loop.close()
如果迁移到v2,需修改为:
loop_tmp = asyncio.new_event_loop() asyncio.set_event_loop(loop_tmp) loop = asyncio.get_event_loop() loop.run_until_complete(func(arg1, arg2)) loop.close()
因为asyncio.get_event_loop()是从os线程(主线程)获取当前事件循环,而v2的python runtime不是在主线程运行用户函数,所以函数内asyncio.get_event_loop()会抛出runtimeerror。
v2使用asyncio需要新建并设置事件循环。
父主题: 产品咨询
相关文档
意见反馈
文档内容是否对您有帮助?
提交成功!非常感谢您的反馈,我们会继续努力做到更好!
您可在查看反馈及问题处理状态。
系统繁忙,请稍后重试
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨