Damon Daxtor
Damon Daxtor

Reputation: 25

PYTHON: search for exact string in text document

I am trying to search a text file/database for an exact username but I am getting multiple outputs for my query

Here is my code:

import re
txtFile = open("test.txt", "r")
userName = raw_input("USER: ")
for line in txtFile:
    if re.match(userName, line):
        print line

When I enter a generic username like "dragon" I get multiple results:

>>>
USER: dragon
dragon:46.245.173.123

dragonsAreCool:3.13.136.5

How would I make the search exact instead of getting multiple results that include my query?

Upvotes: 1

Views: 548

Answers (1)

宏杰李
宏杰李

Reputation: 12168

import re
userName = raw_input("USER: ")
with open("test.txt", "r") as txtFile:
    for line in txtFile:
        if re.match(userName + ':', line):
            print line
            break  # if you sure there is only one user, add break, make you code faster, else delete it.

or:

for line in txtFile:
    if line.startswith(userName + ':')
        print line
        break   # if you sure there is only one user, add break, make you code faster, else delete it.

Upvotes: 2

Related Questions