我正在编写一个Python脚本,它接受用户名并确定它是否是有效的用户名。如果它与任何其他用户名不同并且大于6个字符,则会将其添加到用户名列表中。如果用户名短于6个字符,或者与现有用户名相同,则程序结束并通知用户无效名称。我的问题是,如果我输入一个新的用户名,它会被添加到列表中,然后再次输入相同的用户名,它不会通知我它已经被占用了。
name_list = []
username = input("input your new username: ")
if len(username) < 6:
print('username is too short')
elif len(username) >6:
if username in name_list :
print('username taken')
elif username not in name_list:
name_list.append(username)
假设我输入JonnyBoy作为用户名;它会被添加到name_list中。如果我然后使用相同的用户名再次运行程序,则无法识别它与现有用户名相同。
答案 0 :(得分:1)
每次重新启动脚本时,列表都会重置。您需要将列表存储在文件中。下次运行脚本时读取该文件以获取旧列表。 看看这篇文章:http://www.pythonforbeginners.com/files/reading-and-writing-files-in-python
在这种情况下,我认为json模块会做得很好。
只需致电json.dump(name_list, file)
即可存储该列表。
将列表写入文件的示例:
with open("somefile.txt", "w") as file:
json.dump(name_list, file)
阅读它:
with open("somefile.txt") as file:
name_list = json.load(file)