如何测试包含测试用例的输入文件的Python脚本?
我正在参加在线编程比赛,想用一个包含很多测试案例的 .in 文件来测试我的代码,以便测量我的算法运行时间。请问我该怎么让我的脚本从这个 .in 文件中读取输入呢?
4 个回答
1
PyUnit 是“Python的标准单元测试框架”,可能正是你需要的东西。
你可以写一个小脚本,做一些类似这样的事情:
#!/usr/bin/env python
import sys
def main():
in_file = open('path_to_file')
for line in in_file:
sys.stdout.write(line)
if __name__ == "__main__":
main()
然后运行它,像这样:
this_script.py | your_app.py
2
从文件或标准输入读取数据:
import fileinput
for line in fileinput.input():
process(line)
7
这个脚本通常是从标准输入(stdin)获取测试用例,现在你想用文件里的测试用例来测试,对吧?
如果是这样的话,可以在命令行上使用 <
这个重定向操作:
my_script < testcases.in