#python #linux #ssh
#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
Комментарии:
1. попробуйте line.strip() == var
2. Большое спасибо, это сработало!
Ответ №1:
Если вы создадите следующий файл 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()
, не повлияет ни на какие другие символы пробела ни в начале, ни в конце.