繁体   English   中英

用日期填充文本文件

[英]filling text file with dates

我想给我的文件加上日期,而我却遇到02问题:

from datetime import date, datetime, timedelta

def perdelta(start, end, delta):
    curr = start
    while curr < end:
        yield curr
        curr += delta


fo = open("dattes.txt","wb")
for result in perdelta(date(2011, 10, 10), date(2011, 12, 12), timedelta(days=4)):
    fo.write(result)


fo.close()

1-我收到此错误:

追溯(最近一次通话):文件“ C:\\ test \\ date.txt”,位于fo.write(result)中的第12行TypeError:必须为字符串或缓冲区,而不是datetime.date

2-i希望输出日期是连续的(在日,月和年之间不带“-”)

一项更改将解决两个问题:

fo.write(result.strftime('%Y%m%d\n'))

使用datetime.date.strftime格式化日期。

如果您不希望201110102011101420111018....则可能需要在中间201110102011101420111018....换行符( '\\n' )。

所以,

...
for result in perdelta(date(2011, 10, 10), date(2011, 12, 12), timedelta(days=4)):
    fo.write(result.strftime('%Y%m%d\n'))
....

替代

...
for result in perdelta(date(2011, 10, 10), date(2011, 12, 12), timedelta(days=4)):
    fo.write('{0:%Y%m%d}\n', result)
...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM