我正在尝试创建一个非常简单的代码,它将搜索文本文件以查看用户名是否已注册。但是,我不确定如何在文本文件中进行搜索以找到与用户名匹配的内容。
到目前为止,这是我的代码:
NotLoggedIn = False
while NotLoggedIn == False:
username = input("\nplease enter a username or to sign in type '!'")
for next in records:
if username == records:
print("hi")
NotLoggedIn = True
谢谢。
答案 0 :(得分:0)
如果您有一个名为records.txt
的文本文件,可以尝试以下操作,因为根据您的问题,您需要搜索文本文件。
f = open("records.txt", 'r')
NotLoggedIn = False
while NotLoggedIn == False:
username = input("\nplease enter a username or to sign in type '!'")
for line in f.readlines():
if username in line:
print("hi, username exists in the file")
NotLoggedIn = True
break
if not NotLoggedIn:
print ("User does not exist in the file")
f.close()
答案 1 :(得分:0)
这取决于您如何编写文本文件。 如果该文本文件是这样的: 用户名1 \ n用户名2 \ n ... 然后我们可以像这样编写代码:
f = open("records.txt","r")
m = f.readlines()
f.close()
NotLoggedIn = False
while NotLoggedIn == False:
username = input("\nplease enter a username or to sign in type '!'")
for line in m :
if line.replace("\n","") == username : # removing "\n" from the line
print("hi")
NotLoggedIn = True
break # No need to check others
重要的是要具体。 您不应该使用“ in”在字符串中查找用户名,因为如果您有一个名为string的用户名,那么如果有人键入str,它将像这样:
if "str" in "string"
女巫是正确的,但文本文件中不存在。因此,请尝试使用“ ==”运算符。