当我运行以下代码时,它打印出一整年的日历(我不想要)。我希望它写入文件,但它不会。它还会返回错误消息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))
答案 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)
。