connect file object to standard output?

beliavsky at aol.com beliavsky at aol.com
Mon May 8 11:16:48 EDT 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")
    else
        fp = # how to connect standard output to fp?
    print>>fp,data
    # more print>>fp statements follow




More information about the Python-list mailing list