python - 将文件中的行与字符串进行比较

标签 python python-2.x

我正在尝试查看我的列表中是否已包含特定用户。我应该打印出“找到匹配项”,但我没有。我认为问题出在我的 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  

最佳答案

如果您创建以下文件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()不同,不会影响开头或结尾的任何其他空白字符。

关于python - 将文件中的行与字符串进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24285306/

相关文章:

python - 填充 Pandas 中缺失的索引

python - 线程条件变量 : un-acquired lock

python - 使用Python生成器的直方图问题?

python - 为什么 Python 2 中未绑定(bind)方法的 id() 每次访问都会更改

python - numpy 数组列表到坐标点列表的转换

python - 为什么python无法确定根并使用标记扫描?

Python while循环+检查是否为整数,然后保存到文件

python - 如何将 Unicode 标题传递给 matplotlib?

Python ascii utf unicode

javascript - 如何停止 Django 线程