一些助手帮助编写更正机器人程序,由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 print call by a return statement.

这是您在下注中获胜时显示的消息 print_expect,它们打印而不是返回。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java编辑并重新运行spring引导单元测试,无需重新加载上下文即可加快测试速度   为什么我不能做演员?   java为什么是线程。join通常用于停止安卓中的线程   java从weblogic服务器调用JSON POST REST服务时收到400:错误请求   java在DeviceAdmin模式禁用时设置身份验证?   java SortedMap的keySet()能否始终安全地强制转换到SortedSet?   安卓 java。lang.NoSuchMethodException可包裹类   java JOGL库安装   javatomcat内存管理   java使用getString()中的变量   java将最小星号设置为评级栏   Java中字符串相等的println()方法。。。它到底是如何工作的?   java如何从文本中输出的数组中放入随机图像