connect file object to standard output?

beliavsky at beliavsky at
Mon May 8 17:16:48 CEST 2006

I want to write a function that writes to an output file if specified
and otherwise to standard output. How can I connect a file object to
standard output in the code below? I could use an if statement to
choose between print and print>>fp throughout the function, but this
seems awkward. I think there is a way to connect standard output to a
file, but I'd prefer not to do that, since I want to use plain print
statements to warn about errors in the function and have their output
appear on the screen. Thanks.

def write_data(data,out_file=""):
    if (out_file != ""):
        fp = open(out_file,"w")
        fp = # how to connect standard output to fp?
    # more print>>fp statements follow

More information about the Python-list mailing list