使用python将一年的日历写入文件

时间:2015-04-14 17:18:17

标签: python-2.7 calendar

当我运行以下代码时,它打印出一整年的日历(我不想要)。我希望它写入文件,但它不会。它还会返回错误消息TypeError: expected a character buffer object。此外,将其转换为字符串也不起作用。

import calendar

cal = calendar.prcal(2015)

with open('yr2015.txt', 'w') as wf:
    wf.write(cal)

例如,下面的代码打印一年中的一个月并返回一个字符串,但这不是我想要的

print calendar.month(2015, 4)
print type(calendar.month(2015, 4))

因此,当我运行以下代码时,我收到错误消息<type 'NoneType'>。在我看来,它应该是一个字符串,但显然不是。关于如何将12个月日历纳入文本文件的任何建议?

print type(calendar.prcal(2015))

3 个答案:

答案 0 :(得分:1)

你的问题有点令人困惑。但是,您不必对文件进行python写入。 让python写入stdout并将stdout重定向到文件

python myCal.py > yr2015.txt

这应该可以解决问题

答案 1 :(得分:1)

这是因为calendar.prcal()只会打印一年的日历。并且它不会给你任何价值。因此,代码print type(calendar.prcal(2015))中的这一行将返回无类型错误。

答案 2 :(得分:1)

prcal不会返回任何内容。请改用cal = calendar.TextCalendar().formatyear(2015)