“==”没有做我认为在Python中应该做的事情

2024-09-27 21:34:00 发布

您现在位置:Python中文网/ 问答频道 /正文

在我正在编写的脚本中,我执行以下操作:

data["serial"] = md5.new(json.dumps(data["data"])).hexdigest()
...
...
lst = serialFile.readlines()
    if(len(lst) > 0):
        lastLine = lst[len(lst) - 1]     
...
...
print "lLn : " , lastLine
print "md5 : " , str(data["serial"])
if lastLine == data["serial"]:

我可以验证打印lLn和md5时它们是否相同。我觉得我应该把逻辑陈述给绊倒了。。。但我不

我还尝试使用:

if lastLine == str(data["serial"]):

我对Python还是相当陌生。。。我错过了什么


Tags: 脚本jsonnewdatalenifserialmd5
1条回答
网友
1楼 · 发布于 2024-09-27 21:34:00

假设readlines()是在一个打开的文件句柄上完成的,它将把整个流读入一个行列表,行包括回车符和换行符。您希望在行上调用rstrip(),以删除可能存在的所有额外换行符和回车符。如果要删除的结尾还有其他空白字符,则应该改为调用rstrip('\r\n')

另一个提示:不需要查找列表的长度就可以得到最后一个元素,您只需在本例中执行lst[-1]

把这些放在一起,你会做一些

lst = serialFile.readlines()
    if(len(lst) > 0):
        lastLine = lst[-1].rstrip('\r\n')

相关问题 更多 >

    热门问题