我正在玩一些编程挑战,将通过以下方式检查提交:
python my_submission < in.txt > out.txt
当我尝试提交时,我想阅读一些案例/数字/来自 in.txt 的内容,看看发生了什么。目前我正在这样做:
import sys
file = open('in.txt')
sys.stdin = file
for line in sys.stdin:
case1 = line.split()
some_function(case1)
因此,当我在Sublime文本中运行我的python程序(命中cmd + B)时,我可以看到我是否设法正确读取输入,正确处理一个测试用例等等。然后我只是推荐出第二个我的计划应提交给提交法官的第3行。
我只是想知道:这是&#34;优先工作流程&#34;处理这个?专业程序员是否编写了某种单元测试模板函数来做到这一点?
答案 0 :(得分:0)
首选工作流程是让shell执行重定向,这样您就不必一直更改程序代码。
但是您的IDE(崇高文本)不允许您指定此类参数,因此它会限制您的选择。
解决方案/解决方法:
stdin
模块,而不是直接从fileinput
读取。请参阅How do you read from stdin in Python?这将允许您为代码编写正确的单元测试。然后,您可以使用Sublime的Python Unittest Helper插件。