在文件中查找字符串

时间:2016-07-14 15:49:08

标签: python file if-statement

所以我试图从文件中找到一个字符串。我的代码如下所示:

fname=open('results', 'r')
lines=fname.readlines()
for i in lines:
      print i 
      s=lines[41]
      x= "0x80000680: 0x00000000\n"

      if (i == x) :
         stuff happens

我的代码读取文件只找到该行。匹配'x'但它不会进入if语句。有人注意到,当它在输出中打印出行时,似乎有更多的空格,但是当看到变量时,它只有一个。我试图为两个结果输入相同数量的空格,但我仍然无法进入if语句。当我到达那条线时打印它时,这是'i'的输出:     0x80000680: 0x00000000 它看起来像: str: 0x80000680: 0x00000000\n 当我看到变量。如果我在变量中查看x,则会显示str: 0x80000680: 0x00000000\n

1 个答案:

答案 0 :(得分:2)

您文件中的行不是 "0x80000680: 0x00000000\n"

很容易证明你的路线不是这个

y="0x80000680: "+ "0x00000000\n" #ensure both x and y have different `id`
x= "0x80000680: 0x00000000\n"
print "ID:",id(x),id(y)
print y == x , y.strip() == x.strip()

根据建议你应该print(repr(i))实际看到你的行真正的样子

或者您可以尝试检查它是否以

开头
i.startswith("0x80000680:")

或者您可以尝试使用re来匹配匹配

re.match("0x80000680:.*0x00000000",i)