是否有一种方法来存储和收集数据.txt文件从.py文件?



我对编程有点陌生,所以很抱歉这个问题,如果它很愚蠢。我目前正在用python(代码如下所示)在cmd提示符中创建一个配置文件系统,我想知道您是否可以在.txt文件中收集和存储信息。这将用作数据存储(在本例中是用户名和密码)。我在youtube上浏览了一段时间,但找不到一个对我最有帮助的答案。

logged_in = False
option1 = input("Would you like to login or create an account? (answer with create or login) ")
if option1 == "create":
created_username = input("What would you like your username to be? ")
created_password = input("What would you like your password to be? ")
#store data in usernames.txt and passwords.txt here
logged_in = True
elif option2 == "login":
password = input("What is your username? ")
#check if password is in passwords.txt file:
username = input("What is your password? ")
#check if username is in usernames.txt file:
logged_in = True
else:
print("Please answer create or login next time. Have a good day.")
#login system ends here
logged_in = False
option1 = input(
"Would you like to login or create an account? (answer with create or login) ")
if option1 == "create":
created_username = input("What would you like your username to be? ")
created_password = input("What would you like your password to be? ")
# store data in usernames.txt and passwords.txt here
with open('usernames.txt', 'w') as f:
f.write(created_username + ' ' + created_password)
logged_in = True
elif option1 == "login":
username = input("What is your username? ")
password = input("What is your password? ")
with open('usernames.txt') as f:
for i in f:
# Since we store each as "username password"
# We cannot just compare line[0] and line[1]
# Need to split into an array in form [username, password]
# Then we can compare
user_data = i.split(" ")
if user_data[0] == username and user_data[1] == password:
# check if username is in usernames.txt file:
logged_in = True
print(logged_in)
else:
print("Please answer create or login next time. Have a good day.")

根据@Epsi95的想法,您可以创建一个文本文件来存储结果,然后加载到字典中检查

你可能想让它更有效,因为这会加载整个内容并每次重写整个文件而不是仅仅附加

import json
user_data = {}
logged_in = False
option1 = input(
"Would you like to login or create an account? (answer with create or login) ")
if option1 == "create":
created_username = input("What would you like your username to be? ")
created_password = input("What would you like your password to be? ")
# Put new user info in dictionary
user_data[created_username] = created_password
print(user_data)
# Append to file to retrieve later
with open('userData', 'w') as database:
json.dump(user_data, database)
logged_in = True
elif option1 == "login":
entered_username = input("What is your username? ")
entered_password = input("What is your password? ")
# Load user database in dictionary
with open('userData', 'r') as database:
user_data = json.load(database)
# Checking credentials
if entered_username in user_data:
user_password = user_data[entered_username]
logged_in = user_password == entered_password
print("ISLOGGEDIN", logged_in)
else:
print("ISLOGGEDIN", logged_in)
else:
print("Please answer create or login next time. Have a good day.")
# login system ends here

最新更新