Come testare uno script Python con un file di input riempito con casi di test?

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

  •  06-07-2019
  •  | 
  •  

Domanda

Sto partecipando a contest di arbitri online e voglio testare il mio codice con un file .in pieno di test per calcolare il mio algoritmo. Come posso ottenere il mio script per ricevere input da questo file .in?

È stato utile?

Soluzione

Quindi lo script prende normalmente i casi di test da stdin, e ora vuoi testare i casi di test da un file?

In tal caso, utilizzare l'operazione di reindirizzamento < sulla riga cmd:

my_script < testcases.in

Altri suggerimenti

Leggi da file (s) e / o stdin:

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

PyUnit " il framework di test unità standard per Python " potrebbe essere quello che stai cercando.


Fare un piccolo script che fa qualcosa del genere:

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

Ed esegui come

this_script.py | your_app.py

Puoi farlo in un file separato.

testmyscript.py

import sys
someFile= open( "somefile.in", "r" )
sys.stdin= someFile
execfile( "yourscript.py" )
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top