简体   繁体   中英

compare an exact word with the txt file

i am trying to get the exact word match from my file along with their line no. like when i search for abc10 it gives me all the possible answers eg abc102 abc103 etc how can i limitize my code to only print what i commanded..

here is my code!

lineNo = 0

linesFound = []

inFile= open('rxmop.txt', 'r')

sKeyword = input("enter word ")
done = False

while not done :

    pos = inFile.tell()
    sLine = inFile.readline()
    if sLine == "" :
        done = True
        break

    if (sLine.find( sKeyword ) != -1):
        print ("Found at line: "+str(lineNo))
        tTuple = lineNo, pos
        linesFound.append( tTuple )
    lineNo = lineNo + 1
done = False
while not done :

    command = int( input("Enter the line you want to view: ") )

    if command == -1 :
        done = True
        break
    for tT in linesFound :
        if command == tT[0] :
            inFile.seek( tT[1] )
            lLine = inFile.readline()
            print ("The line at position " + str(tT[1]) + "is: " + lLine) 

"like when i search for abc10 it gives me all the possible answers eg abc102 abc103 etc"

You split each record and compare whole "words" only.

to_find = "RXOTG-10"
list_of_possibles = ["RXOTG-10 QTA5777 HYB SY G12",
                     "RXOTG-100 QTA9278 HYB SY G12"]
for rec in list_of_possibles:
    words_list=rec.strip().split()
    if to_find in words_list:
        print "found", rec
    else:
        print "     NOT found", rec

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM