stdout与哈希结果的比较(python)

时间:2012-08-29 11:34:49

标签: python

使用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"

3 个答案:

答案 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"

一些其他建议:

  1. 请勿使用无效的支架。是pythonic。
  2. 可能lowercasing otherhash可能是一个好主意。