功能错误 - 未定义名称

时间:2017-10-24 18:52:45

标签: python

def getDetail(username, password):

    accountFile = open("accounts.txt", 'r')
    readFile = accountFile.readline()

    user = readFile.split(",")
    username = user[0]
    password = user[1]

getDetail(password)

我收到错误:

  

文件“C:/ Users / - / Desktop / - / quiz.py”,第151行,中   getDetail(密码)
  NameError:未定义名称'password'

我还能如何定义它?
我正在尝试将两个文本拆分为两个单独的字符串,并通过user[0]user[1]访问它们。我已将这些存储在函数的参数usernamepassword中。我想这样做,以便稍后我可以访问用户名和密码。

2 个答案:

答案 0 :(得分:2)

分配参数对您传入的变量没有影响,函数的参数不会神奇地成为全局定义的变量。

从函数中返回所需的值:

def getDetail():
    accountFile = open("accounts.txt", 'r')
    readFile = accountFile.readline()

    user = readFile.split(",")
    return (user[0], user[1])

username, password = getDetail()

你应该考虑对Python进行一次很好的介绍。通过猜测来学习是非常低效的。

答案 1 :(得分:0)

您尚未声明名为“password”的变量。此外,您没有传递用户名变量。实现你想要的更多pythonic方法如下。

def getDetail():
    accountFile = open("accounts.txt", 'r')
    readFile = accountFile.readline()
    user = readFile.split(",")
    username = user[0]
    password = user[1]
    return username, password

username, password = getDetail()