2017-05-24 18 views
0

スコアを保存できない場合を除き、私は正常にゲームを作成しました。pythonでファイルからデータを保存して読み込みますか?

私は、テキストファイルにポイントするために使用する変数を保存しようとしており、それを管理していますが、プログラムの起動時にその変数を読み取る方法が必要です。

保存するためのコードは以下のとおりです。

def Save(): 
    f.open("DO NOT DELETE!", "w+") 
    f.write(str(points)) 
    f.close() 
+1

ここで問題何を?キャッチするtry...except...句を使用することができますかあなたは 'open'と' write'を知っているようです。 'read'メソッドのドキュメントをお読みください。 –

+1

初心者のためのヒント:[pickle](https://docs.python.org/3/library/pickle.html) – abccd

+0

を見てください。主な問題はファイルを読む必要があることですそれを変数に設定します。ファイルが存在しない場合、存在しないファイルから読み込もうとしているので、私はこれで苦労しています。 if文とすべてを試してみましたが、動作させることはできません。これについては –

答えて

0

pickleライブラリを使用することをお勧めします。詳しい読書:Python serialization - Why pickle (Benefits of pickle)。あなたの質問は、

ファイルが が存在しないと、存在しないファイルから読み込もうとしているので、私は苦労しています。

あなたはFileNotFoundError

import pickle as pkl 

# to read the highscore: 
try: 
    with open('saved_scores.pkl', 'rb') as fp: 
     highscore = pkl.load(fp) # load the pickle file 
except (FileNotFoundError, EOFError): # error catch for if the file is not found or empty 
    highscore = 0 

# you can view your highscore 
    print(highscore, type(highscore)) # thanks to pickle serialization, the type is <int> 

# you can modify the highscore 
highscore = 10000 # :) 

# to save the highscore: 
with open('saved_scores.pkl', 'wb') as fp: 
    pkl.dump(highscore, fp) # write the pickle file 
+0

ありがとうございます。私が探しているものではありませんが、別の状況が発生した場合は、これを念頭に置いておきます。非常に便利! :) –

関連する問題