• Uncategorized

About python : compare-lines-in-a-file-with-a-string

Question Detail

I’m trying to see if my list already has a specific user in it. I should get “match found” printed out but I don’t. I thought the problem was in my php-file so i created a text file with the same contents but it still doesn’t find the match.

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"

Here is the output im getting:

someguy
user
patrik
juniper
ftpsecure
momeunier
done  

Question Answer

If you create the following file xx.in:

test line 1
test line 2

and run the following Python program, you’ll see exactly why the match is failing:

file = open('xx.in')
for line in file:
    print '[%s]' % (line)

The output is:

[test line 1
]
[test line 2
]

showing that the newline characters are being left on the line when they’re read in. If you want them stripped off, you can use:

line = line.rstrip('\n')

This will remove all newline characters from the end of the string and, unlike strip(), will not affect any other whitespace characters at either the start or end.

You may also like...

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.