我有一年中所有日期的清单。我正在尝试在列表中查找今天的日期。
示例文件Calendar2020.txt
09/15/2020
09/16/2020
09/17/2020
09/18/2020
09/19/2020
09/20/2020
09/21/2020
09/22/2020
09/23/2020
09/24/2020
09/25/2020
09/26/2020
09/27/2020
09/28/2020
09/29/2020
09/30/2020
10/01/2020
10/02/2020
10/03/2020
10/04/2020
10/05/2020
10/06/2020
代码是:
calendarData = open('C:/Users/micha/source/repos/Test_Pass_Variables2Function/Calendar2020.txt').readlines()
current_time = datetime.datetime.now()
date = current_time.strftime("%m/%d/%Y")
for i in range(0,366):
if(date==calendarData[i]):
break
else:
print(i,end=" ")
print("date", date, end=" ")
print(calendarData[i])
i=i+1
控制台输出
269 date 09/29/2020 09/26/2020
270 date 09/29/2020 09/27/2020
271 date 09/29/2020 09/28/2020
272 date 09/29/2020 09/29/2020
273 date 09/29/2020 09/30/2020
274 date 09/29/2020 10/01/2020
275 date 09/29/2020 10/02/2020
比较测试无效。 272行应该中断
答案 0 :(得分:1)
您在calendarData
中的每个条目都包含尾随换行符,因此它将永远与date
值不匹配。只需删除换行符,就像这样:
for i in range(0,366):
if(date==calendarData[i].strip('\n')):
break
else:
print(i,end=" ")
print("date", date, end=" ")
print(calendarData[i])
i=i+1