gpt4 book ai didi

java - 使用 Python 模拟输入到 Java 程序中

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:42:32 25 4
gpt4 key购买 nike

我正在编写一个 Python 脚本来对大约 300 个作业进行评分,这些作业使用扫描仪 (System.in) 进行输入

我认为我可以做的事情就像打电话一样简单:

    os.system("cat input.txt | java {} > program_output.txt".format(class_file))

我也试过

    os.system("java {} < input.txt > program_output.txt".format(class_file))

然而,在某些作业中,即使手动输入输入时它工作得很好,但当它从这个 input.txt 文件中获取输入时,程序会给我一个错误:

Exception in thread "main" java.util.NoSuchElementException: No line found

这是在之前两次调用 console.next() 之后,错误发生在调用 console.nextLine() 时

我不知道为什么会这样,但修改每个人的代码并不是很简单,所以我想知道是否有一种方法可以使用 python 模拟输入的实际输入,而不是重定向标准输入。谢谢!

编辑:郑重声明,Java 程序无法接受来自标准输入的管道的原因是因为程序创建了多个扫描器,而不是传递扫描器。

最佳答案

模拟实际人工输入的最佳方式是 pexpect python module它基于 expect Linux 实用程序,而它又恰恰是为了处理交互式工具而制作的。

(一旦到达我的桌面,我将尝试提供示例)

关于java - 使用 Python 模拟输入到 Java 程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41150216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com