2016-01-15 57 views
0

所以即時編寫與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) 
+0

是什麼'new'? –

+0

對不起有點不理睬這個例子,它的一部分被刪除了很長的原始代碼。新的告訴它是否是新帳戶。所以如果新= 1,那麼它寫入用戶名和密碼 –

+0

@Cody羅伯茨你還想用用戶名搜索文件? –

回答

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

非常感謝你的作品。 :D –

+1

小小建議:取決於你更喜歡什麼 –

+0

枚舉到底是什麼?代替'return i + 1',使用'enumerate(f,start = 1)'或'enumerate(f,1)'' –

1

Python的方式爲你的答案

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