Redirecting STDOUT using C calls.

Christian Heimes lists at cheimes.de
Sun Dec 30 09:29:13 EST 2007


Tom Gaudasinski wrote:
> Greetings,
>     I'm trying to redirect python's stdout to another location. The 
> reason for this is that I'm embedding python in an application. Now, 
> originally my code was developed for Linux and that did not require 
> redirection due to the fact that every X11 application can have an 
> STDOUT associated with it. I then proceeded to take interest in making 
> my code portable and looked at compiling it on windows, however Win32 
> GUI applications are not given an STDOUT by default. One has to first 
> AllocConsole() and then reassign the handles using magic tokens 
> "CON(IN|OUT)$" such as freopen("CONOUT$", "w", stdout). I like to keep 
> code clean and would like to stick to the C API as much as possible.

Why don't you use the appropriate C api to redirect the standard streams?

freopen("filename", "w", stdout);

See
http://www.gnu.org/software/libc/manual/html_mono/libc.html#Standard-Streams

Christian




More information about the Python-list mailing list