[英]Adding time to an existing file in python
我想用Python更新一个现有的file.txt,它有两列,一列代表几天,一列代表时间,这样它将在同一文件的另一列中汇总新的时间。
Sunday 07:00
Monday 07:35
Tuesday 05:35
Wednesday 06:45
Thursday 08:40
例如,加30分钟:
Sunday 07:00 07:30
Monday 07:35 08:05
Tuesday 05:35 06:05
Wednesday 06:45 07:15
Thursday 08:40 09:10
In [139]: d='Sunday 07:00'
In [140]: b=d.split()
In [141]: b
Out[141]: ['Sunday', '07:00']
In [142]: (datetime.datetime.strptime(b[1], '%H:%M') + datetime.timedelta(minutes=30)).strftime('%H:%M')
Out[142]: '07:30'
from datetime import datetime, timedelta
f=open("testcase","r") #open the file
pairs = [l.split() for l in f.readlines()] #get [day,time] pairs
f.close()
#this long line creates a list of [day,time1,time2] using list comprehensions
#you can change it a bit to change the output format.
data = ["%s%s%s\n" % (p[0].ljust(12),p[1].ljust(8),
(datetime.strptime(p[1],"%H:%M") + timedelta(minutes=30)).strftime("%H:%M"))
for p in pairs]
#reopen the file for writing and store the new data.
f = open("testcase","w")
f.writelines(data)
f.close();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.