Comment tester un script Python avec un fichier d'entrée rempli de cas de test?

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

  •  06-07-2019
  •  | 
  •  

Question

Je participe à des concours de juges en ligne et je souhaite tester mon code avec un fichier .in contenant des tests afin de chronométrer mon algorithme. Comment puis-je obtenir mon script pour prendre des entrées de ce fichier .in?

Était-ce utile?

La solution

Ainsi, le script prend normalement les scénarios de test de stdin et vous souhaitez maintenant tester des scénarios de test à partir d'un fichier?

Si tel est le cas, utilisez l'opération de redirection < sur la ligne de commande:

my_script < testcases.in

Autres conseils

Lire des fichiers et / ou stdin:

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

PyUnit & "; le cadre de test unitaire standard pour Python &"; pourrait être ce que vous recherchez.

Faire un petit script qui fait quelque chose comme ça:

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

Et courez comme

this_script.py | your_app.py

Vous pouvez le faire dans un fichier séparé.

testmyscript.py

import sys
someFile= open( "somefile.in", "r" )
sys.stdin= someFile
execfile( "yourscript.py" )
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top