如何解决Python 中嵌套字典的语法
我正在开发 Python 脚本,用于使用 CanvasAPI 自动评分作业,CanvasAPI 是用于 Canvas 学习管理平台的 Python 中的 API 包装器。在研究文档的过程中,我可以成功地在 Python 中为几个参数发出 curl 命令。例如,下面的转换用于上传单个提交的评分准则信息:
Curl command per the Canvas API docs:
PUT /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id
与:
rubric_assessment[criterion_id][points]
Turns into this via the CanvasAPI Python wrapper
edit(rubric_assessment={'criterion_#':{'points': 'point #'}})
但是,我在添加附加参数的语法方面遇到困难,这会创建似乎是嵌套字典的内容。例如,如果我想添加文本评论和成绩点,API 文档提供了这个:
rubric_assessment[criterion_id][comments]
我已经尝试过:
edit(rubric_assessment={'criterion_#':{'points': 'point #'},{'criterion_#':{'comments': 'comment_text'}}})
产生语法错误:
SyntaxError: positional argument follows keyword argument
我也尝试过:
edit(rubric_assessment={'criterion_#':{'points': 'point #'},{'comments': 'comment_text'}})
产生此错误:
SyntaxError: expression cannot contain assignment,perhaps you meant "=="?
构建传递两个参数的语法的正确方法是什么?非常感谢您提供的任何见解和帮助。
解决方法
来自 rubric_assessment[criterion_id][comments],看来你需要,edit(rubric_assessment={'criterion_#':{'points': 'point #','comments':'comment_text'}})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。