Как протестировать скрипт Python с входным файлом, заполненным тестовыми сценариями? - PullRequest
1 голос
/ 21 июня 2009

Я участвую в онлайн-соревнованиях судей и хочу протестировать свой код с файлом .in, полным тестовых случаев, чтобы рассчитать мой алгоритм. Как я могу заставить мой скрипт принимать данные из этого файла .in?

Ответы [ 4 ]

6 голосов
/ 21 июня 2009

Итак, скрипт обычно берет тестовые случаи из стандартного ввода, и теперь вы хотите протестировать тестовые случаи из файла?

В этом случае используйте операцию перенаправления < в строке cmd:

my_script < testcases.in
2 голосов
/ 21 июня 2009

Чтение из файла (ов) и / или стандартного ввода:

import fileinput
for line in fileinput.input():
    process(line)
1 голос
/ 21 июня 2009

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
0 голосов
/ 22 июня 2009

Вы можете сделать это в отдельном файле.

testmyscript.py

import sys
someFile= open( "somefile.in", "r" )
sys.stdin= someFile
execfile( "yourscript.py" )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...