Dayton Jones wrote: > I'd like to be able to display 2 calendars side by side, instead of > stacked... is this possible?
I'm too lazy to look around for a ready-to-use solution, so here's my own: $ cat side_by_side.py from itertools import zip_longest def zip_lines(*columns, sep=" "): columns = [c.splitlines() for c in columns] widths = [max(len(s) for s in c) for c in columns] return "\n".join( sep.join(c.ljust(w) for c, w in zip(row, widths)) for row in zip_longest(*columns, fillvalue="") ) if __name__ == "__main__": import calendar print(zip_lines(calendar.month(2016, 1), calendar.month(2015, 1))) print() columns = [calendar.month(2016, month) for month in range(6, 9)] print(zip_lines(*columns, sep=" | ")) $ python3 side_by_side.py January 2016 January 2015 Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su 1 2 3 1 2 3 4 4 5 6 7 8 9 10 5 6 7 8 9 10 11 11 12 13 14 15 16 17 12 13 14 15 16 17 18 18 19 20 21 22 23 24 19 20 21 22 23 24 25 25 26 27 28 29 30 31 26 27 28 29 30 31 June 2016 | July 2016 | August 2016 Mo Tu We Th Fr Sa Su | Mo Tu We Th Fr Sa Su | Mo Tu We Th Fr Sa Su 1 2 3 4 5 | 1 2 3 | 1 2 3 4 5 6 7 6 7 8 9 10 11 12 | 4 5 6 7 8 9 10 | 8 9 10 11 12 13 14 13 14 15 16 17 18 19 | 11 12 13 14 15 16 17 | 15 16 17 18 19 20 21 20 21 22 23 24 25 26 | 18 19 20 21 22 23 24 | 22 23 24 25 26 27 28 27 28 29 30 | 25 26 27 28 29 30 31 | 29 30 31 -- https://mail.python.org/mailman/listinfo/python-list