Python搜索文件中的字符串并获取字符串';s线号

Python搜索文件中的字符串并获取字符串';s线号,python,Python,因此,我正在用python编写一个登录系统,我想知道我是否可以在文本文档中搜索您输入的用户名,然后让它输出找到它的行,并搜索密码文档。如果它与您输入的密码和该行上的字符串匹配,那么它将打印您登录的密码。在我之前的代码中,我让它搜索第1行,如果它没有找到字符串,它会在第1行中添加一个,然后重复,直到找到为止。然后在同一行检查密码文件 def checkuser(user,line): # scan the username file for the username ulines = u

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

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)

获取线路号码的功能。你可以想怎么用就怎么用

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')

获取线路号码的功能。你可以想怎么用就怎么用

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')

用蟒蛇的方式回答你的问题

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

用蟒蛇的方式回答你的问题

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

很抱歉,忽略了这个例子,它是从原始代码中剪下的一部分,要长得多。new告诉您它是否是新帐户。因此,如果new=1,那么它会写入用户名和password@CodyRoberts您还想先用用户名搜索文件吗?很抱歉,忽略了这个例子,它是从原始代码中剪下的一部分,要长得多。new告诉您它是否是新帐户。因此,如果new=1,那么它会写入用户名和password@CodyRoberts您还想先用用户名搜索文件吗?小建议:不要使用
返回i+1
,而是使用
枚举(f,start=1)
枚举(f,1)
,根据您的喜好,enumerate是什么?它为您提供当前正在迭代的项的索引。有点像枚举(我的列表)中的索引项的
@James谢谢你的建议:)!小建议:不要使用
返回i+1
,而是使用
枚举(f,start=1)
枚举(f,1)
,这取决于您更喜欢什么。枚举的确切内容是什么?它会为您提供当前正在迭代的项的索引。有点像枚举(我的列表)中的索引项的
@James谢谢你的建议:)!这个答案似乎比循环更快,在语法上更紧凑。这个答案似乎比循环更快,在语法上更紧凑。