簡體   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