【问题标题】:How to create username / password system to .csv file?如何为 .csv 文件创建用户名/密码系统?
【发布时间】:2019-02-25 02:14:48
【问题描述】:

您好,我对这个 python 代码有点挣扎。基本上我想要一种用户输入两个用户的方式,用户1和用户2,他们都有密码(我希望密码被散列/加密)但我真的不知道该怎么做。 到目前为止,这是我的代码

#Asks for login
gameuniqueid = random.randint(1000,999999)

player1uniqueid = random.randint(1000,9999)
player1 = input("Enter player 1 name: ")
p1p = input("Enter/Create player 1 password: ")
p1_final_score = 0

player2uniqueid = random.randint(1000,9999)
player2 = input("Enter player 2 name: ")
p2p = input("Enter/Create player 2 password: ")
p2_final_score = 0  


print("Your game unique ID is:", gameuniqueid )
#Opens Files and enters information
game = []
user1 = []
user2 = []


file = csv.writer(open("database.csv", "a"))
rows.append(["Game id: ", gameuniqueid])
rows.append([player1uniqueid ,player1, p1p, p1_final_score])
rows.append([player2uniqueid ,player2, p2p, p2_final_score])
file.writerows()

所以想要的是每个游戏在 csv 文件中都会有:

第 1 行:唯一 ID:(游戏唯一编号)

第 2 行:第 1 列:P1 用户名第 2 列:p1 密码第 3 列:p1_final_score

第 3 行:第 1 列:P2 用户名第 2 列:p2 密码 3:p2_final_score

第 4 行:无

每次有人输入他们的用户名和密码时,我都非常想要一个这样的长列表。然后它将像我想要的那样添加到 .csv 中,以便人们可以查看他们的分数和详细信息。

我真的希望有人可以帮助我,因为我有点挣扎。如果这真的没有意义,那么请告诉我。

PS:完整代码在这里:https://codeshare.io/G6oBZN

或者如果你只是想看看https://pastebin.com/hdKFJj6s

【问题讨论】:

    标签: python


    【解决方案1】:

    CSV 的理念是在每一行存储相同的数据格式。像这样:

    gameId,user1Id,user1Name,user1Pass,user1Score,user2Id,user2Name,user2Pass,user2Score
    

    代码如下:

    import csv
    import random
    from passlib.apps import custom_app_context as pwd_context
    
    game_id = random.randint(1000, 999999)
    data = [game_id]
    for i in range(2):
        data.append(random.randint(1000, 9999))
        data.append(input('Enter player {} name: '.format(i+1)))
        p_pass = input('Enter/Create player {} password: '.format(i+1))
        data.append(pwd_context.hash(p_pass))
        data.append(0)
    
    print('Your game unique ID is: ', game_id)
    
    with open('database.csv', 'a', newline='') as f:
        writer = csv.writer(f)
        writer.writerow(data)
    

    输出database.csv:

    489042,6139,User1,$6$rounds=656000$YzvCUZobix403Zjm$ApMp4Zo7NzMFcvW3KRYwlcPl9OWHdGONCOQztZwdeUP/fc/6cZFPpIsREGVwvyGk30IqgYrJHq0I5NqBr1KIc.,0,8622,User2,$6$rounds=656000$x50kIsTvVHSBYqfM$/.TCk2qkNxbDRN5r1vyI5gPZ6YWJx5nL1gpUHdkc64trbAqbJHNDfHTJaEaieEE8Pt9IC45Vm4ueytYaMZ13u1,0
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-18
      • 1970-01-01
      • 2018-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多