用两行Python代码制作简单的日历
马上就要步入新的一年了,是不是需要一个新年的日历啊。我们看看怎么样使用Python轻松的创建日历。
我们可以使用Python的calendar模块轻松地输出日历。而且,您只需要编写两行代码即可。那么我们就来看看如何在Python中显示各种日历吧。
首先让我们编写一个显示日历的两行代码吧。启动Python附带的IDLE shell,然后输入以下两行代码。
import calendar
print(calendar.month(2021, 1))
在IDLE中的执行结果如下:
关于使用方法,请参考下面的格式说明。
calendar.month(年, 月, w=列幅, l=行数)
如果指定关键字参数w和l,则可以在输出日历时调整天与天之间的输出宽度。以下是指定w = 7和l = 2的示例。
print(calendar.month(2021, 1, w=7, l=2))
执行后的显示结果如下。
您甚至可以省略print方法
在Python的calendar模块中,提供了calendar.prmonth()函数。用这个函数您即使不用print函数也可以把日历的内容简单地显示出来。参数和month()函数相同。
以下是输出2021年1月月历的代码。
calendar.prmonth(2021, 1, w=7)
让我们在IDLE上看一下。可以看到效果和用print打印出来的一样。
就是这么简单,所以对于那些一直打开着IDLE的码农来说,直接用calendar.prmonth()来查看日历也许比启动日历应用程序来的更快一些。(笑)。
通过将内容保存到网页,并用浏览器打开,可以使内容看起来更好看,更直观
为了让日历的内容看起来更好看,我们稍微改一下代码,把日历的内容保存到HTML中。执行以下代码,将输出一个名为“ calendar202101.html”的HTML文件。
# 制作一个月的日历 --- (*1)
import calendar
lc = calendar.HTMLCalendar()
body = lc.formatmonth(2021, 1)
# 保存到文件 --- (*2)
f = open("calendar202101.html", "wt")
f.write("<body>" + body + "</body>")
将生成的HTML文件拖放到浏览器中,来看看日历的效果。
在谷歌浏览器中,右键单击网页,然后从弹出菜单中单击“检查”。您可以检查其输出的HTML的结构。
我们来简单地看一下代码。首先我们使用了calendar模块的HTMLCalendar方法。
在代码的(* 1)部分中,通过创建HTMLCalendar对象并调用formatmonth()方法就可以轻松地生成HTML形式的日历。
在代码的(* 2)中,把生成的HTML代码保存在了文件中。事实上,我们可以通过修改<style>
标签的内容来详细的设定日历的显示格式。
接下来,让我们来创建一个下面这样的年度日历。
创建上面的年度日历的代码如下。
# 日历做成 --- (*1)
import calendar
lc = calendar.HTMLCalendar()
body = lc.formatyear(2021, width=4)
# 指定HTML的头部信息 --- (*2)
html = """<html><head><style>
table { padding: 8px; }
th { border-bottom: 1px solid gray; }
td { padding: 4px; vertical-align: top; }
.sun { color: red; }
.sat { color: blue; }
</style></head><body>""" + body + """
</body></html>"""
# 保存文件 --- (*3)
f = open("calendar2021.html", "wt")
f.write(html)
简单介绍一下这段程序代码。
首先(* 1)部分。和之前的代码一样,生成了一年日历的HTML代码。
然后,在(* 2)部分中,给HTML代码指定了一些CSS样式。
然后,在(* 3)部分中,将HTML代码保存在文件中。
如上代码,你可以通过改变<style>
标签中的定义,来得到您想要的日历的颜色和大小。
总结
今天,我们介绍了如何通过calendar模块来快速的创建日历,是不是很方便呢?最主要的是,您可以用HTMLCalendar来生成HTML代码,并且通过改变HTML代码的样式来制作您想要的风格的日历。是不是很酷呢。
还等什么,赶紧来尝试一下吧。