Redirecting stdin to a file

C

candide

How do I redirect stdin to a text file ? In C, this can be done with the
freopen() standard function, for instance

FILE *foo = freopen("in.txt", "r", stdin);


redirects stdin to the in.txt text file. Does anyone know a freopen()
Python equivalent ?

Notice that I'm not referring to shell redirection as the following
command line shows :

$ python myCode.py < in.txt

I need to hardcode the redirection inside the python source file.
 
L

Lie Ryan

How do I redirect stdin to a text file ? In C, this can be done with the
freopen() standard function, for instance

FILE *foo = freopen("in.txt", "r", stdin);


redirects stdin to the in.txt text file. Does anyone know a freopen()
Python equivalent ?

Notice that I'm not referring to shell redirection as the following
command line shows :

$ python myCode.py< in.txt

I need to hardcode the redirection inside the python source file.

I'm not sure how freopen() works in C, but perhaps you're looking for
redirecting sys.stdin:
import sys
old_stdin = sys.stdin # save it, in case we need to restore it
sys.stdin = open('myfile')

you can also restore stdin using sys.__stdin__ instead of saving the old
one, but in the case you or someone else is redirecting the stdin twice...
 
M

MRAB

candide said:
How do I redirect stdin to a text file ? In C, this can be done with
the freopen() standard function, for instance

FILE *foo = freopen("in.txt", "r", stdin);


redirects stdin to the in.txt text file. Does anyone know a freopen()
Python equivalent ?

Notice that I'm not referring to shell redirection as the following
command line shows :

$ python myCode.py < in.txt

I need to hardcode the redirection inside the python source file.

The standard input is sys.stdin and the standard output is sys.stdout.

sys.stdin.close()
sys.stdin = open("in.txt", "r")
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,764
Messages
2,569,567
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top