在目录中的每个Python文件中运行Python函数

2024-05-08 22:34:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图找到一个很好的方法来自动评分一些学生的代码。每个学生都将提交一个名为homework1_studentName.py的文件,我将把它们全部下载到一个文件夹中。你知道吗

现在每个学生都应该在他们的文件中有一堆函数,比如def question1(args):,我正在尝试给它们打分。我的目标是在该目录中生成一个分级脚本,该脚本遍历每个学生的模块,导入代码,针对一些预定义的测试用例运行函数,然后打印输出。有什么好办法吗?你知道吗

只需运行一次分级脚本(下载所有代码后)就可以比单独对每个文件进行分级节省大量时间。你知道吗


Tags: 文件方法函数代码py脚本文件夹def
1条回答
网友
1楼 · 发布于 2024-05-08 22:34:57

导入模块后,可以使用以下字符串动态访问函数:

import students_code

def run(function_name, module_name):
  getattr(module_name, function_name)()
  #this will call module_name.function_name()

run("question_1", students_code)

也许如果你有一个配置文件为每个任务,你可以自动运行的东西。您还可以使用这个run函数在dir(the_module)中循环。你知道吗

要自动测试它们的代码,请检查:https://docs.python.org/2/library/unittest.html

相关问题 更多 >