Python搜索字符串的文件并获取字符串的行号

时间:2016-01-15 04:52:53

标签: python

所以我正在用python编写一个登录系统,我想知道我是否可以在文本文档中搜索你输入的用户名然后让它输出它找到的行并搜索密码文件。如果它与您输入的密码匹配在该行上的字符串然后它打印您登录。任何和所有的帮助是赞赏。在我以前的代码我有它搜索第一行如果它没有找到它添加一个字符串行然后重复直到找到它。然后它检查同一行的密码文件

def checkuser(user,line):  # scan the username file for the username
    ulines = u.readlines(line)
    if user != ulines:
        line = line + 1
        checkuser(user)
    elif ulines == user:
        password(user)

2 个答案:

答案 0 :(得分:2)

获取行号的功能。您可以按照自己的方式使用

def getLineNumber(fileName, searchString):
    with open(fileName) as f:
        for i,line in enumerate(f, start=1):
           if searchString in line: 
               return i
    raise Exception('string not found')

答案 1 :(得分:1)

Pythonic方式为您的答案

f = open(filename)
line_no = [num for num,line in enumerate(f) if 'searchstring' in line][0]
print line_no+1