Wie ein Python-Skript mit einer Eingabedatei mit Testfällen gefüllt testen?

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

  •  06-07-2019
  •  | 
  •  

Frage

Ich bin in der Online-Richter Wettbewerben teilnehmen und ich möchte meinen Code mit einer .in Datei voller Testfälle testen mein Algorithmus Zeit. Wie kann ich meine Skript Eingabe von dieser .in-Datei zu nehmen?

War es hilfreich?

Lösung

So das Skript dauert normalerweise Testfälle von stdin, und jetzt wollen Sie aus einer Datei mit Hilfe von Testfällen testen?

Wenn das der Fall ist, verwenden Sie die < Umleitungsoperation auf der cmd Zeile:

my_script < testcases.in

Andere Tipps

Lesen von Datei (en) und / oder stdin:

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

PyUnit "das Standard-Unit Testing Framework für Python" sein könnte, was Sie suchen.


Doing ein kleines Skript, das so etwas wie dies funktioniert:

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

Und laufen wie

this_script.py | your_app.py

Sie können dies tun, in einer separaten Datei.

testmyscript.py

import sys
someFile= open( "somefile.in", "r" )
sys.stdin= someFile
execfile( "yourscript.py" )
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top