2

I'm participating in online judge contests and I want to test my code with a .in file full of testcases to time my algorithm. How can I get my script to take input from this .in file?

4 Answers 4

7

So the script normally takes test cases from stdin, and now you want to test using test cases from a file?

If that is the case, use the < redirection operation on the cmd line:

my_script < testcases.in
Sign up to request clarification or add additional context in comments.

Comments

2

Read from file(s) and/or stdin:

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

Comments

1

PyUnit "the standard unit testing framework for Python" might be what you are looking for.


Doing a small script that does something like this:

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

And run as

this_script.py | your_app.py

Comments

1

You can do this in a separate file.

testmyscript.py

import sys
someFile= open( "somefile.in", "r" )
sys.stdin= someFile
execfile( "yourscript.py" )

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.