鱼C论坛

 找回密码
 立即注册
查看: 1586|回复: 0

[技术交流] Python 小技巧 049:打印美观的日历

[复制链接]
发表于 2020-1-14 22:13:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Python 打印美观的日历


Python 自带的模块之一 calendar 可以帮助我们打印美观的日历。

calendar 在 Python Shell 中的使用

在使用之前,理所当然,要先导入。

  1. >>> import calendar
复制代码


之后,我们使用 calendar.month() 输出月历。

  1. month(theyear, themonth, w=0, l=0)

  2. theyear : 月份所在的年。
  3. themonth : 要打印第几个月的月历(1 ~ 12)。
  4. w 和 l 参数暂时用不着,保持默认即可。
复制代码


例如,输入 print(calendar.month(2020, 1)) 并回车,打印 2020 年 1 月的月历:

  1. >>> print(calendar.month(2020, 1))
  2.     January 2020
  3. Mo Tu We Th Fr Sa Su
  4.        1  2  3  4  5
  5. 6  7  8  9 10 11 12
  6. 13 14 15 16 17 18 19
  7. 20 21 22 23 24 25 26
  8. 27 28 29 30 31
复制代码


可以看到我们成功了,而且打印的日历非常美观、整齐!

也可以用 calendar 打印一年的日历。我们输入 print(calendar.calendar(2020)) 打印 2020 年的日历:

  1. >>> print(calendar.calendar(2020))
  2.                                   2020

  3.       January                   February                   March
  4. Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
  5.        1  2  3  4  5                      1  2                         1
  6. 6  7  8  9 10 11 12       3  4  5  6  7  8  9       2  3  4  5  6  7  8
  7. 13 14 15 16 17 18 19      10 11 12 13 14 15 16       9 10 11 12 13 14 15
  8. 20 21 22 23 24 25 26      17 18 19 20 21 22 23      16 17 18 19 20 21 22
  9. 27 28 29 30 31            24 25 26 27 28 29         23 24 25 26 27 28 29
  10.                                                     30 31

  11.        April                      May                       June
  12. Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
  13.        1  2  3  4  5                   1  2  3       1  2  3  4  5  6  7
  14. 6  7  8  9 10 11 12       4  5  6  7  8  9 10       8  9 10 11 12 13 14
  15. 13 14 15 16 17 18 19      11 12 13 14 15 16 17      15 16 17 18 19 20 21
  16. 20 21 22 23 24 25 26      18 19 20 21 22 23 24      22 23 24 25 26 27 28
  17. 27 28 29 30               25 26 27 28 29 30 31      29 30

  18.         July                     August                  September
  19. Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
  20.        1  2  3  4  5                      1  2          1  2  3  4  5  6
  21. 6  7  8  9 10 11 12       3  4  5  6  7  8  9       7  8  9 10 11 12 13
  22. 13 14 15 16 17 18 19      10 11 12 13 14 15 16      14 15 16 17 18 19 20
  23. 20 21 22 23 24 25 26      17 18 19 20 21 22 23      21 22 23 24 25 26 27
  24. 27 28 29 30 31            24 25 26 27 28 29 30      28 29 30
  25.                           31

  26.       October                   November                  December
  27. Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
  28.           1  2  3  4                         1          1  2  3  4  5  6
  29. 5  6  7  8  9 10 11       2  3  4  5  6  7  8       7  8  9 10 11 12 13
  30. 12 13 14 15 16 17 18       9 10 11 12 13 14 15      14 15 16 17 18 19 20
  31. 19 20 21 22 23 24 25      16 17 18 19 20 21 22      21 22 23 24 25 26 27
  32. 26 27 28 29 30 31         23 24 25 26 27 28 29      28 29 30 31
  33.                           30
复制代码


我们还可以使用 prmonth() 和 prcal() 这两个快捷方式打印月历、年历:

  1. >>> calendar.prmonth(2020, 1)
  2.     January 2020
  3. Mo Tu We Th Fr Sa Su
  4.        1  2  3  4  5
  5. 6  7  8  9 10 11 12
  6. 13 14 15 16 17 18 19
  7. 20 21 22 23 24 25 26
  8. 27 28 29 30 31
  9. >>> calendar.prcal(2020)
  10.                                   2020

  11.       January                   February                   March
  12. Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
  13.        1  2  3  4  5                      1  2                         1
  14. 6  7  8  9 10 11 12       3  4  5  6  7  8  9       2  3  4  5  6  7  8
  15. 13 14 15 16 17 18 19      10 11 12 13 14 15 16       9 10 11 12 13 14 15
  16. 20 21 22 23 24 25 26      17 18 19 20 21 22 23      16 17 18 19 20 21 22
  17. 27 28 29 30 31            24 25 26 27 28 29         23 24 25 26 27 28 29
  18.                                                     30 31

  19.        April                      May                       June
  20. Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
  21.        1  2  3  4  5                   1  2  3       1  2  3  4  5  6  7
  22. 6  7  8  9 10 11 12       4  5  6  7  8  9 10       8  9 10 11 12 13 14
  23. 13 14 15 16 17 18 19      11 12 13 14 15 16 17      15 16 17 18 19 20 21
  24. 20 21 22 23 24 25 26      18 19 20 21 22 23 24      22 23 24 25 26 27 28
  25. 27 28 29 30               25 26 27 28 29 30 31      29 30

  26.         July                     August                  September
  27. Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
  28.        1  2  3  4  5                      1  2          1  2  3  4  5  6
  29. 6  7  8  9 10 11 12       3  4  5  6  7  8  9       7  8  9 10 11 12 13
  30. 13 14 15 16 17 18 19      10 11 12 13 14 15 16      14 15 16 17 18 19 20
  31. 20 21 22 23 24 25 26      17 18 19 20 21 22 23      21 22 23 24 25 26 27
  32. 27 28 29 30 31            24 25 26 27 28 29 30      28 29 30
  33.                           31

  34.       October                   November                  December
  35. Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
  36.           1  2  3  4                         1          1  2  3  4  5  6
  37. 5  6  7  8  9 10 11       2  3  4  5  6  7  8       7  8  9 10 11 12 13
  38. 12 13 14 15 16 17 18       9 10 11 12 13 14 15      14 15 16 17 18 19 20
  39. 19 20 21 22 23 24 25      16 17 18 19 20 21 22      21 22 23 24 25 26 27
  40. 26 27 28 29 30 31         23 24 25 26 27 28 29      28 29 30 31
  41.                           30
复制代码


calendar 的命令行操作

calendar 还为我们提供了命令行操作。输入 python -m calendar -h 可以查看帮助:

1.png

使用 calendar 在命令行也能打印月历与年历。格式如下:

  1. python -m calendar [year] [month]
复制代码


其中 year 和 month 都可以忽略。如果 year 和 month 都不写,则默认打印本年的日历。如果省略了 month,则打印 year 年的年历。

例如,python -m calendar 2020 可以打印 2020 年的日历,而 python -m calendar 2019 12 则能打印 2019 年 12 月的日历:

1.png

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
胡鸣谦 + 1 + 1 感谢楼主无私奉献!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 08:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表