首页 > 解决方案 > Python字符串不匹配

问题描述

我对 Python 很陌生,试图计算一些时间,让来自不同来源的两个字符串相等,但在测试时它们是 FALSE。第一个字符串是从单行文件中提取的,另一个在代码中设置为变量。两者都显示为 str,具有相同的表观值,但当检查为相等时,它们为 FALSE。

from datetime import datetime

file=open("test.db","r")

for i in file:
    print(i)
    print(repr(i))
    print(str(i.rstrip('\n')))
    ci_time = (str((i.rstrip('\n'))[14:20]))
    print(ci_time)
ci_time1 = '08:00'

print(type(ci_time))
print(ci_time)
print(type(ci_time1))
print(ci_time1)
print(ci_time == ci_time1)

file.close()




Here is my output...
$ python3 test.py
CI 2018-11-23 08:00 CO 2018-11-23 17:00

'CI 2018-11-23 08:00 CO 2018-11-23 17:00\n'
CI 2018-11-23 08:00 CO 2018-11-23 17:00
08:00
<class 'str'>
08:00
<class 'str'>

08:00
False

标签: python

解决方案


所以如果你仔细看,你会发现你的ci_time变量实际上有一个尾随空格:

ci_time

>>'08:00 '

您可以使用以下方法删除它:

ci_time.strip()
>>'08:00'

或者,您可以将字符串切片中的索引更新为[14:19]


推荐阅读