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

write a one year calendar to file using python

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

import calendar

cal = calendar.prcal(2015)

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

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

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

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

print type(calendar.prcal(2015))

你的问题有点令人费解。但是,您不必使 python 写入文件。 让 python 写入标准输出并将标准输出重定向到文件

python myCal.py > yr2015.txt

这应该可以解决问题

那是因为calendar.prcal()只会打印一年的日历。它不会 return 你任何值。所以你代码中的这一行 print type(calendar.prcal(2015)) 会 return none 类型错误。

prcal 没有 return 任何东西。请改用 cal = calendar.TextCalendar().formatyear(2015)