import calendar cl = calendar.TextCalendar(firstweekday=0)
firstweekday=0
- задает первый день недели.Класс TextCalendar()
модуля calendar
можно использовать для создания простых текстовых календарей.
TextCalendar()
имеют следующие методы:cl.formatmonth()
форматирует календарь на месяц,cl.prmonth()
печатает календарь на месяц,cl.formatyear()
форматирует календарь на год,cl.pryear()
печатает календарь на год,cl.formatmonth(theyear, themonth, w=0, l=0)
:Метод cl.formatmonth()
возвращает календарь на месяц themonth
, года theyear
в виде многострочной строки.
Аргумент w
, он определяет ширину столбцов даты, которые автоматически центрированы. Если дано значениеАргумент l
указывает количество строк, которые будут использоваться между неделями.
Зависит от первого дня недели, как указано в конструкторе или установлено методом cl.setfirstweekday()
.
>>> import calendar >>> cl = calendar.TextCalendar(firstweekday=0) # если вывод этого метода перенаправить # функцией open() в файл то получим # отформатированный календарь за месяц # в текстовом файле >>> cl.formatmonth(2020, 5, 3, 2) # ' May 2020\n\n # Mon Tue Wed Thu Fri Sat Sun\n\n # 1 2 3\n\n # 4 5 6 7 8 9 10\n\n # 11 12 13 14 15 16 17\n\n # 18 19 20 21 22 23 24\n\n # 25 26 27 28 29 30 31\n\n'
cl.prmonth(theyear, themonth, w=0, l=0)
:Метод cl.prmonth()
печатает календарь на месяц, который возвратит метод calendar.formatmonth()
.
>>> import calendar >>> cl = calendar.TextCalendar(firstweekday=0) # печатает календарь за год в терминале >>> cl.prmonth(2020, 5, 3, 2) # May 2020 # Mon Tue Wed Thu Fri Sat Sun # # 1 2 3 # # 4 5 6 7 8 9 10 # # 11 12 13 14 15 16 17 # # 18 19 20 21 22 23 24 # # 25 26 27 28 29 30 31
cl.formatyear(theyear, w=2, l=1, c=6, m=3)
:Метод cl.formatyear()
возвращает календарь из m
столбцов на весь год theyear
в виде многострочной строки.
Необязательные параметрыw - ширины столбца датыl - количество строк между неделямиc - количества пробелов между столбцами месяца
Зависит от первого дня недели, как указано в конструкторе или установлено методом cl.setfirstweekday()
.
Самый ранний год, для которого может быть создан календарь, зависит от платформы.
>>> import calendar >>> cl = calendar.TextCalendar(firstweekday=0) # если вывод этого метода перенаправить # функцией open() в файл то получим # отформатированный календарь за год # в текстовом файле >>> cl.formatyear(2021) # ' 2021\n\n # January February March\n # # и так далее ... ... # весь вывод показать не реально
cl.pryear(theyear, w=2, l=1, c=6, m=3)
:Метод cl.pryear()
печатает календарь на месяц, который возвратит метод calendar.formatyear()
.
>>> import calendar >>> cl = calendar.TextCalendar(firstweekday=0) # печатает календарь за год в терминале >>> cl.pryear(2021) # 2021 # January February March #Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su # 1 2 3 1 2 3 4 5 6 7 1 2 3 4 5 6 7 # 4 5 6 7 8 9 10 8 9 10 11 12 13 14 8 9 10 11 12 13 14 #11 12 13 14 15 16 17 15 16 17 18 19 20 21 15 16 17 18 19 20 21 #18 19 20 21 22 23 24 22 23 24 25 26 27 28 22 23 24 25 26 27 28 #25 26 27 28 29 30 31 29 30 31 # # April May June # и так далее ... ... # весь вывод показать не реально