python - 试图在列表中查找对象,但它不起作用
问题描述
所以我的项目包括尝试从这个文件(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
解决方案
我建议也许在您的“for line in db:”循环中执行 sdate.strip(),以删除可能会或可能不会弄乱相等性检查的任何前导或尾随空格。
推荐阅读
- python - 修复导入 MySQL 表时密码哈希被截断的问题
- javascript - chrome 中的视频播放
- node.js - TypeScript - 如何导入“os”模块
- apache-nifi - Nifi 从 Oracle 问题中获取数据
- python - Tkinter:Python 3 框架画布上矩形中的按钮。
- r - R:在 ggplot 中使用 log10 刻度为 y 轴自定义刻度标记
- node.js - 在 React 中重定向 - 节点
- google-cloud-platform - 创建 GCR 秘密错误:只需要一个 NAME,得到 26
- venn-diagram - VennDiagram R 中的“不可能”错误消息
- c# - 仅在类库输出类型中未找到 Microsoft.WITDataStore32.dll 异常