Python字符串不匹配

时间:2018-11-25 08:37:54

标签: 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

2 个答案:

答案 0 :(得分:0)

因此,如果仔细看,您会发现ci_time变量实际上有一个尾随空格:

ci_time

>>'08:00 '

您可以使用以下方法将其删除:

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

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

答案 1 :(得分:0)

尝试将strip()添加到ci_time,如下所示,您需要在ci_time中去除空格。

print(ci_time.strip() == ci_time1)

ci = 'CI 2018-11-23 08:00 CO 2018-11-23 17:00'
print len(str(ci[14:20])) --6
print len(str(ci[14:20]).strip()) --5