Как протестировать скрипт Python с входным файлом, заполненным тестовыми сценариями?

1

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

Теги:
input

4 ответа

6
Лучший ответ

Итак, script обычно принимает тестовые примеры из stdin, и теперь вы хотите протестировать с помощью тестовых примеров из файла?

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

my_script < testcases.in
2

Чтение из файла (ов) и/или stdin:

import fileinput
for line in fileinput.input():
    process(line)
1

PyUnit "стандартная модульная система тестирования для Python" может быть тем, что вы ищете.


Выполнение небольшого script, который делает что-то вроде этого:

#!/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

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

testmyscript.py

import sys
someFile= open( "somefile.in", "r" )
sys.stdin= someFile
execfile( "yourscript.py" )

Ещё вопросы

Сообщество Overcoder
Наверх
Меню