【问题标题】:Feed multiple sequential input to stdin python将多个顺序输入提供给标准输入 python
【发布时间】:2018-03-09 17:23:21
【问题描述】:

有没有办法可以将多个输入输入标准输入,以便在调用 input() 时轻松解析?我正在尝试对学生提交的内容进行自动评分,他们的代码正在使用 input() 函数。但是这样一个一个的测试很累,我正在寻求自动进行。

我目前可以在学生代码之后或之后添加代码 (<MORE CODE HERE>)

理想情况下,标准输入的输入类似于Image1.jpg <enter> 2 <enter> Y <enter> 3 <enter> N,并在代码中运行。

这是一个学生提交的示例,我可以在其中添加/添加代码

<MORE CODE HERE>
def question1():
    YN = 'Y'
    function_dict = { '1':action_1, '2':action_2, '3':action_3}

    filename = input('Please enter the file name')
    while(YN=='Y'):
        print('Please select an operation you want to perform')
        print('1. action_1')
        print('2. action_2')
        print('3. action_3')
        choice = input('What is your choice?')
        function_dict[choice](filename)
        YN = input('Do you want to continue? (Y/N)')

<MORE CODE HERE>
question1()

谢谢!

【问题讨论】:

    标签: python stdin


    【解决方案1】:

    如果您有像 .py 这样的项目的标准化文件名,以及问题的预期格式和输出,您可以定义一个函数来使用 EasyProcess python 模块调用单个项目,然后迭代匹配特定项目的所有项目文件夹中的文件名模式并确认输出是否正确。

    【讨论】:

    • 这不能解决我的问题吗?我的问题是我想使用标准输入自动化特定文件的测试用例
    • 我不明白为什么你需要使用标准输入来自动化测试用例。你能澄清一下吗?
    • 如果你看代码,这个函数没有参数。它接受来自input() 的值。因此,要对其进行测试,我需要向标准输入输入内容。