将文件中的行与字符串进行比较
我正在尝试检查我的列表中是否已经有一个特定的用户。我应该能看到“找到匹配项”的提示,但我没有看到。我原以为问题出在我的php文件上,所以我创建了一个内容相同的文本文件,但它仍然找不到匹配项。
import urllib2
server = "10.20.68.235"
var = "patrik"
file = urllib2.urlopen("http://"+server+"/list-text.php")
for line in file:
if line == var:
print "match found"
print line,
print "done"
这是我得到的输出:
someguy
user
patrik
juniper
ftpsecure
momeunier
done
1 个回答
7
如果你创建一个名为 xx.in
的文件:
test line 1
test line 2
然后运行下面的Python程序,你会清楚地看到为什么匹配会失败:
file = open('xx.in')
for line in file:
print '[%s]' % (line)
输出结果是:
[test line 1
]
[test line 2
]
这显示在读取时,换行符仍然留在行上。如果你想去掉这些换行符,可以使用:
line = line.rstrip('\n')
这个方法会从字符串的 末尾 删除所有的换行符,而且和 strip()
不同,它不会影响字符串开头或结尾的其他空白字符。