Welcome, guest | Sign In | My Account | Store | Cart
class PrintDecorator:
    """Add print-like methods to any file-like object."""

    def __init__(self, stream):
        """Store away the stream for later use."""
        self.stream = stream

    def Print(self, *args, **kw):
        """ Print all arguments as strings, separated by spaces.

            Take an optional "delim" keyword parameter, to change the
            delimiting character.
        """
        delim = kw.get('delim', ' ')
        self.stream.write(delim.join(map(str, args)))

    def PrintLn(self, *args, **kw):
        """ Just like print(), but additionally print a linefeed.
        """
        self.Print(*args+('\n',), **kw)

import sys
out = PrintDecorator(sys.stdout)
out.PrintLn(1, "+", 1, "is", 1+1)
out.Print("Words", "Smashed", "Together", delim='')
out.PrintLn()

History