因此,我的项目包括尝试从该文件(data.txt)中获取所有数据,并进行过滤以查找上周的值,因此我使用datetime.timedelta
来获取包含所有日期的列表。当前日期和前6天,但是当我尝试在文件中查找数据的日期并将其与“上周列表”中的日期进行比较时,即使它们都是字符串并且都是以相同的格式YY-MM-DD。它们是相同的,但始终返回false。这是我的第一篇文章,所以也许有点令人困惑,但是如果您能帮助我,那将是很棒的。
这是data.txt,它包含会话的持续时间,会话的开始时间,结束时间和当前日期。
0.6351542472839355;16:12:46.275692;16:12:46.910832;2020-07-08
0.24894213676452637;16:12:47.867543;16:12:48.116485;2020-07-08
0.2877843379974365;16:12:48.824725;16:12:49.112509;2020-07-08
200.29360198974609375;16:12:49.754576;16:12:50.048178;2020-07-08
200.25270724296569824;16:12:50.636086;16:12:50.888793;2020-07-08
3000.2298729419708252;16:12:51.469012;16:12:51.698880;2020-07-08
SESSION DURATION ; START TIME ; END TIME ; DATE
def last_week_hours():
today = date.today()
lastweekhours = 0
weeklist = []
for i in range(0,7):
wdate = today - timedelta(days=i)
weeklist.append(str(wdate))
db = open('data.txt', 'rt')
for line in db:
info = line.split(';')
sdate = info[3]
sduration = info[0]
if sdate in weeklist:
print('sdate is in weeklist')
lastweekhours += sduration
答案 0 :(得分:0)
我建议您也许在您的“ for db:db:”循环中执行sdate.strip(),以删除可能会或可能不会干扰相等性检查的任何前导或尾随空格。