connect file object to standard output?
Larry Bates
larry.bates at websafe.com
Mon May 8 11:28:46 EDT 2006
beliavsky at aol.com wrote:
> 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
>
import sys
def write_data(data, out_file=None):
if out_file is None:
fp = sys.stdout # how to connect standard output to fp?
else
fp = open(out_file,"w")
fp.write(data)
# more fp.write() statements follow
-Larry Bates
More information about the Python-list
mailing list