[问题] 读取并判断档案问题

楼主: ajjj840569 (你爸)   2022-01-05 14:41:47
各位前辈好,新手发问:
最近在写登入注册的backend逻辑
有一个method是:
判断帐号名称是否已存在,若不存在则写入使用者输入的帐密等资讯
我有一个已经事先默认一些资料的data user.csv
原本默认是这个档案有东西,所以code如下:
with open('user.csv', "r") as f:
lines = f.readlines()
accounts = [l.split(";;;") for l in lines]
usernames = [accounts[x][1] for x in range(0, len(accounts))]
if username not in usernames:
self.username = username
self.password = encrypt_password(password)
with open(‘user.csv’
,'a') as file:
file.write(f"\n{self.username};;;{self.password}")
result = True
else:
result=False
return result
但是我发现如果我清空这个默认好的档案,这就无法做了
可能是lines那边没有东西的问题
所以多写一个判断式在上面那个if外面
if len(lines)==0:
self.username=username
self.password=self.encrypt_password(password)
with open('user.csv','w' as file:
file.write(f"{self.username};;;{self.password}\n")
result = True
接着写入上面
else:
if username not in usernames:
......
结果发现使用者输入后被写入档案,然后再被判断len(lines)!=0
导致帐号已存在无法注册 result=False
请问该如何解决
谢谢
作者: lycantrope (阿宽)   2022-01-05 15:34:00
你可以先用os.path.exists()来判断要不要create新档案接着才append你想要的usernamehttps://reurl.cc/k708Nn
作者: leolarrel (真.粽子无双)   2022-01-07 12:53:00
请问是公司派给你的任务吗?了解,谢谢

Links booklink

Contact Us: admin [ a t ] ucptt.com