写一个注册系统
# 用户输入账户和密码
# 将账户和密码保存在一个叫做account.txt的文件中
# 保存的格式: account : passwor
# 写一个注册系统
# 用户输入账户和密码
# 将账户和密码保存在一个叫做account.txt的文件中
# 保存的格式: account : password
def load_account():
if os.path.exists("account.txt"):
# 如果当前路径存在account.txt文件
dc = {}
read = open("account.txt", "rt", encoding="utf-8")
# 以utf-8编码方式打开读取+
while True:
account_info = read.readline()
# read方法
# 特点:读取整个文件,将文件内容放到一个字符串变量中。
#
# 缺点:如果文件非常大,尤其是大于内存时,无法使用read()方法。
# readline方法
# 特点:readline()方法每次读取一行;返回的是一个字符串对象,保持当前行的内存
#
# 缺点:比readlines慢的多
# readlines方法
# 特点:一次性读取整个文件;自动将文件内容分析成一个行的列表
if account_info == "":
break
ls = account_info.split(":")
# split(“符号”)按照指定的符号将字符串进行切割,返回一个列表
a = ls[0]
p = ls[1].replace("\n", "")
dc[a] = p
return dc
else:
return {}
dc = load_account()
account = input("请输入账户")
# 如果账户存在get返回密码,如果账户不存在get返回none
if not dc.get(account):
# - 清空clear、复制、获取某个元素get,[]、获取key合集、获取value合集、
# - 获取键值对合集、设置默认值、删除pop、popitem
password = input("请输入密码")
a_file = open("account.txt", "at", encoding="utf-8")
dc[account] = password
line = account + ":" + password + "\n"
a_file.write(line)
a_file.close()
print("注册成功")
else:
print("该账户已存在请重新注册")