Frans Englich wrote:
The reason I thinks about this is I need to implement a debug print for my program; very simple, a function/print statement that conditionally prints its message whether a bool is true. Not overly complex.

Sounds like you want to override sys.stdout:

py> class ConditionalWriter(object):
...     def __init__(self, outfile, cond=True):
...         self.outfile = outfile
...         self.cond = cond
...     def write(self, text):
...         if self.cond:
...             self.outfile.write(text)
...
...
py> import sys
py> writer = ConditionalWriter(sys.stdout)
py> sys.stdout = writer
py> print "hi!"
hi!
py> writer.cond = False
py> print "hi!"
py> writer.cond = True
py> print "hi!"
hi!

You probably want to restore sys.stdout when you're done too:

py> sys.stdout = writer.outfile
py> writer.cond = False
py> print "hi!"
hi!

That said, you probably _really_ want the logging module:
    http://docs.python.org/lib/module-logging.html

Steve
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to