Python:在python

时间:2015-10-06 17:37:28

标签: python

我目前正在制作用户名+密码登录系统,并且有一个包含以前注册用户的用户名和密码的文件。注册用户的程序的一面工作完美,但我试图实现一个系统来检查文件中的数据,并在用户输入正确的数据时签名。

编辑:数据库中的一个组合,它的结构都是这样的; [[" ExampleUsername"," BadPasswrdo14130"]]

这是代码:

# Login Interface using files as a 'login database' of sorts?

import json

def autoSave():
    with open("Accounts.json", "w") as outfile:
        json.dump(accounts, outfile)


def loadUsers():
    with open("Accounts.json") as infile:
        return json.load(infile)

def existingUser():
    eUsername = input("Your Username » ")
    ePassword = input("Your Password » ")

    for index, item in (accounts):
            if item[1] == eUsername and item[2] == ePassword:
                print("Logged in")
            else:
                print("Login failed")

def createUser():
    global accounts
    nUsername = input("Create Username »  ")
    nPassword =  input("Create Password »  ")
    entry = [nUsername, nPassword]
    accounts.append(entry)
    accounts = accounts[:500000]
    autoSave()

accounts = loadUsers()

如何从数据库文件中检索数据并使用用户输入的数据检查数据? 我已经尝试了但是它不起作用,总是说登录失败,这是代码的一部分:

def existingUser():
eUsername = input("Your Username » ")
ePassword = input("Your Password » ")

for index, item in (accounts):
        if item[1] == eUsername and item[2] == ePassword:
            print("Logged in")
        else:
            print("Login failed")

1 个答案:

答案 0 :(得分:0)

@ForceBru

这是我试图阻止重复帐户的代码,它允许你欺骗帐户,但是在创建一个新帐户时,它表示它已经创建,但不是,但无论如何创建它。

def createUser():
global accounts
nUsername = input("Create Username »  ")
nPassword =  input("Create Password »  ")
for item in accounts:
    if item[0] == nUsername:
        return "Account Username already exists, try again"
    else:
        entry = [nUsername, nPassword]
        accounts.append(entry)
        accounts = accounts[:500000]
        autoSave()