Search a text file and print related lines in Python?

后端 未结 3 1369
长情又很酷
长情又很酷 2020-11-29 21:56

How do I search a text file for a key-phrase or keyword and then print the line that key-phrase or keyword is in?

3条回答
  •  醉酒成梦
    2020-11-29 22:25

    searchfile = open("file.txt", "r")
    for line in searchfile:
        if "searchphrase" in line: print line
    searchfile.close()
    

    To print out multiple lines (in a simple way)

    f = open("file.txt", "r")
    searchlines = f.readlines()
    f.close()
    for i, line in enumerate(searchlines):
        if "searchphrase" in line: 
            for l in searchlines[i:i+3]: print l,
            print
    

    The comma in print l, prevents extra spaces from appearing in the output; the trailing print statement demarcates results from different lines.

    Or better yet (stealing back from Mark Ransom):

    with open("file.txt", "r") as f:
        searchlines = f.readlines()
    for i, line in enumerate(searchlines):
        if "searchphrase" in line: 
            for l in searchlines[i:i+3]: print l,
            print
    

提交回复
热议问题