使用python我为文件创建哈希结果。我从其他地方检索哈希结果,但我必须使用stdout检索它,我想比较两者。但是检索到的stdout将作为列表检索,并在结尾处有\n
。如果我打印它,它可能看起来像,例如:[6d52f\n]
我知道问题是,如果我尝试将\n
添加到我当前的哈希结果中,它会自动忽略\n
以尝试比较两者(就像我在下面的代码中所做的那样) ),所以我现在有点不确定如何比较这两者。我知道答案可能正在盯着我,但我会感激任何帮助。
我的代码是:
if ("%s\n" % thishash == otherhash):
print "they are the same"
else:
print "they are not the same"
答案 0 :(得分:1)
只需从stdin
>>> x = ['6d52f\n']
>>> x[0].rstrip('\n')
'6d52f'
答案 1 :(得分:0)
我必须使用stdout
检索它
你可能是指“stdin”,而不是“stdout”。
other_hash = raw_input() # no trailing newline
if this_hash == other_hash:
"same"
或者您可以在没有参数的情况下调用other_hash.rstrip()
来删除所有尾随空格。
答案 2 :(得分:0)
只需将strip应用于otherhash:
if thishash == otherhash.strip():
print "they are the same"
else:
print "they are not the same"
一些其他建议: