2017-10-24 15 views
-3
def getDetail(username, password): 

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

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

getDetail(password) 

I get the error: 
File "C:/Users/-/Desktop/-/quiz.py", line 151, in <module> 
getDetail(password) 

NameError:名「パスワードは、」私はそれを定義することができます他にどのように機能のエラー - 名前定義されていません(パイソン)

が定義されていませんか? 私は2つのテキストを2つの個別の文字列に分割し、user [0]とuser [1]を通してそれらにアクセスしようとしています。私はユーザー名とパスワードにこれらの関数のパラメータを格納しています。後でユーザー名とパスワードにアクセスできるようにしたいと思います。

+0

なぜ、あなたの関数 'getDetail'に2つのパラメータがありますか? –

+4

@WillemVanOnsem ...何も持っていなくて1つで呼び出されるべきとき:) – schwobaseggl

+0

他の関数や他のコード行でアクセスすることができます –

答えて

0

「パスワード」という変数を宣言していません。さらに、ユーザー名変数を渡すこともありません。あなたが望むものを達成するためのより無邪気な方法は次のとおりです。

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() 
2

パラメータの割り当ては、渡す変数には影響しません。関数のパラメータは、魔法のようにグローバルに定義された変数になることはありません。

リターン機能から必要な値:あなたは、Pythonの入門を拾って検討すべきである

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

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

username, password = getDetail() 

。推測による学習は非常に非効率的です。

関連する問題