一些助手帮助编写更正机器人程序,由hackinscience.org网站.
correction-helper的Python项目详细描述
矫正助手
项目
这只是一组工具,帮助用Python为Python编写更正bot。在
它用于hackinscience,但可以 在别处使用。在
安全考虑因素
运行学生代码可能非常不安全,除非您相信 学生们不要给你开后门。在
这个项目在任何方面都对安全性有帮助,可能需要
看看firejail如果你有
信任问题(是的,您可以在firejail
内使用correction-helper
)。在
使用
要安装它,请运行:pip install correction-helper
。在
在检查代码中,可以这样使用:
student_code
装饰器
这个装饰师的目标是抓住大多数可能发生在 学生代码,仅用作:
withstudent_code():their_function()
下面是一个更完整的例子:
^{pr2}$student_code
的允许参数及其默认值
exception_prefix="Got an exception:"
打印在异常之前(如果有)。在
friendly=False
用还是不用 friendly-traceback 而不是纯Python异常。在
print_allowed=False
为了允许使用打印到stdout/stderr,您可以读取 使用上下文管理器的值打印:
withstudent_code(print_allowed=True)asrun:their_function()assertrun.stderr==""assertrun.stdout=="42"
print_prefix="Your code printed something (it should **not**):"
打印和print_allowed
时要显示的消息是False
。在
print_expect=None
你打赌他们会打印而不是返回的字符串。在
print_expect_message
默认值:
Your code printed what I expected it to return so maybe just replace your
return
statement.
这是您在下注中获胜时显示的消息
print_expect
,它们打印而不是返回。在
- 项目
标签: