Como testar um script python com um arquivo de entrada cheio de testcases?

StackOverflow https://stackoverflow.com/questions/1024529

  •  06-07-2019
  •  | 
  •  

Pergunta

Estou participando de concursos de juízes on -line e quero testar meu código com um arquivo .in cheio de testcases para cronometrar meu algoritmo. Como posso obter meu script para obter informações deste arquivo .in?

Foi útil?

Solução

Portanto, o script normalmente leva casos de teste da Stdin e agora você deseja testar usando casos de teste de um arquivo?

Se for esse o caso, use o < Operação de redirecionamento na linha CMD:

my_script < testcases.in

Outras dicas

Leia de arquivos e/ou stdin:

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

Pyunit "A estrutura de teste de unidade padrão para Python" pode ser o que você está procurando.


Fazendo um pequeno script que faça algo assim:

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

E correr como

this_script.py | your_app.py

Você pode fazer isso em um arquivo separado.

testmyscript.py

import sys
someFile= open( "somefile.in", "r" )
sys.stdin= someFile
execfile( "yourscript.py" )
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top