【发布时间】:2019-02-11 22:23:37
【问题描述】:
我正在尝试自动化 Python 初学者课程的一些评分过程。学生们提供了一个 Python 程序,它会提示用户输入 5 个项目以及这 5 个项目的每月金额。然后学生显示预算,其中显示项目、每月金额和每年金额。我想编写一个 python 脚本来执行所有 65 个学生程序,并让程序为这 5 个项目和每月金额提供输入。我希望输入变量是列表中的随机变量和随机浮点数。从程序中执行此操作是否可行,或者是否需要从命令行提供变量和每月金额?总体目标是为 5 个项目和金额提供自动输入值,然后将学生的打印语句打印到控制台,从而更快地根据学生的输出提供评分。
现在,我的代码提示老师输入保存学生作业的目录的路径,并将每个文件路径存储在一个列表中。现在,我试图弄清楚如何执行列表中的每个 Python 文件,当每个学生的程序提示用户输入时,我的脚本将自动提供输入。提示字符串是特定的,它允许我指定项目与金额。例如。 "请输入项目1:"(输入项目名称)、"请输入项目金额:"(输入浮动金额)
这是我的伪代码:
import os
list_files = ["student1.py", "student2.py" ,....]
list_items = ["mortgage", "groceries", "insurance"]
list_amounts = [123.34, 1024.11, 32.3]
现在我需要弄清楚如何执行每个文件并让程序提供来自list_items 和list_amounts 的输入。我正在寻找解决此问题的最佳方法的建议。我宁愿让程序从这些列表中提供输入,而不是像通过参数那样让教师输入值。
例如,
python student1.py mortgage 123.34 groceries 32.3 insurance 1024.11.
我该怎么做?最好不要通过argv[]
【问题讨论】:
-
我不是 python 专家,也仍在学习,但也许您可以尝试编写一个异步函数,该函数在您的代码执行时运行,该函数负责将随机数放入输入提示
-
我会说我的具体问题是“如何将我的 python 程序中的列表中的输入提供给另一个 python 程序?”我希望这会有所帮助。
-
列出一个文件夹中的所有项目并使用
subprocess执行它们相对容易,唯一棘手的部分是提交变量:如果每个程序都需要不同的输入类型,那么你不是将能够自动化此 -
这个问题可能对你有用*.com/questions/10673185/…
-
每个程序都有相同的输入问题。 "enter item 1:" , "enter item amount:", "enter item 2: ", "enter item amount: "这两个问题在每个文件中以相同的顺序被问到最多 5 个项目。相同的 5 个输入字符串和浮点值对于所有提交的文件可以相同。
标签: python automation