¿Cómo probar un script de Python con un archivo de entrada lleno de casos de prueba?

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

  •  06-07-2019
  •  | 
  •  

Pregunta

Estoy participando en concursos de jueces en línea y quiero probar mi código con un archivo .in lleno de casos de prueba para cronometrar mi algoritmo. ¿Cómo puedo hacer que mi script tome datos de este archivo .in?

¿Fue útil?

Solución

¿Entonces el script normalmente toma casos de prueba de stdin, y ahora quiere probar usando casos de prueba de un archivo?

Si ese es el caso, use la operación de redirección < en la línea cmd:

my_script < testcases.in

Otros consejos

Leer de archivo (s) y / o stdin:

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

PyUnit " el marco de prueba de unidad estándar para Python " podría ser lo que estás buscando.


Hacer un pequeño script que haga algo como esto:

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

Y ejecutar como

this_script.py | your_app.py

Puede hacer esto en un archivo separado.

testmyscript.py

import sys
someFile= open( "somefile.in", "r" )
sys.stdin= someFile
execfile( "yourscript.py" )
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top