2017-05-26 9 views
0

確かにこれは私がそれを作り出すほど複雑ではありません。私はlogins.pyと呼ぶユーザーの資格情報を格納するファイルを持っています。私のメインスクリプトapp.pylogins.pyのリストuserkeyspasskeysに新しいアカウントの詳細を書き込みます。資格情報ファイルに新しい情報を追加するには、app.pyは新しい情報を書き込む前にlogins.pyをインポートする必要があります。問題は、これを行うと古い情報がファイルに書き込まれていることです。不気味な。私はaaaのUSERKEYとbbbのパスキーを入力した場合、私はPython:古い情報を表示するインポートされたファイル

userkeys = [12345, 'aaa'] 
passkeys = ['67890', 'bbb'] 

12345と67890はキープ私は前に多くの衛星を消去古いuserkeysとパスキーをしている得る

import logins 
def createAccount(self, userkey, passkey): 
    if userkey in logins.userkeys: 
     return False 
    else: 
     logins.userkeys.append(userkey) 
     logins.passkeys.append(passkey) 
     with open('logins.py', 'w') as f: 
      f.write(str(logins.userkeys + logins.passkeys)) 

:ここに私のコードの一部です戻ってくる。 importlib.reloadは違いはありません。私は何が欠けていますか?

+0

ちょっと考えて、logins.pycファイルがありますか?b:なぜあなたはそれをインポートしていますか? –

+0

@RolfofSaxony見つからない.pycファイルはありません。私は間違ったことをしているかもしれませんが、簡単な方法で既存の情報に新しいデータを追加するログインをインポートしています。 –

+0

logins.pyにコードがないかぎり、なぜファイルとして開いて内容を読むのかわかりません。実際にあなたはすでにそれを開いていて、不思議なことに 'w'でファイル全体を上書きしています。 –

答えて

0

logins.pyの内容を確認できますか?

EDIT:あなたの問題を正確に解決する方法がわかりませんが、より良い解決策を提供する必要があります。なぜか:あなたはファイルをインポートしてから、そのファイルを開いて書き込みますそれ。それはちょっと汚いです。代わりにそのものをcsvファイルに保存してみてください。 pythonはcsvファイルの読み書きをとても簡単にしてくれます。

+0

元の投稿で述べたように、 'userkeys = [12345、 'aaa'] passkeys = ['67890'、 'bbb']'は意図的なものです。 –

+0

私はCSVに試してみましょう、ありがとう! –

+0

問題はありません、幸運 – Mauricio

関連する問題