Index: Lib/calendar.py =================================================================== --- Lib/calendar.py (revision 86668) +++ Lib/calendar.py (working copy) @@ -661,11 +661,13 @@ encoding = options.encoding if encoding is None: encoding = sys.getdefaultencoding() + optdict = dict(encoding=encoding, css=options.css) + p = sys.stdout.buffer.write if len(args) == 1: - print(cal.formatyearpage(datetime.date.today().year, **optdict)) + p(cal.formatyearpage(datetime.date.today().year, **optdict)) elif len(args) == 2: - print(cal.formatyearpage(int(args[1]), **optdict)) + p(cal.formatyearpage(int(args[1]), **optdict)) else: parser.error("incorrect number of arguments") sys.exit(1) @@ -687,9 +689,11 @@ else: parser.error("incorrect number of arguments") sys.exit(1) + p = print if options.encoding: result = result.encode(options.encoding) - print(result) + p = sys.stdout.buffer.write + p(result) if __name__ == "__main__":