ユーザー情報のいくつかの種類を格納するためのデータを格納するための最良の方法は、シリアル化です。 Pickle(オブジェクトをバイナリファイルにシリアライズし、その後、ファイルを読み込んでシリアル化する前と同じオブジェクトを返すことでこのオブジェクトを逆シリアル化できます)、またはJsonを含む複数のモジュールがあります。
良い解決策を探しているが、依然としてデータをはっきり読み取ることができる場合(Pickleはデータをバイナリエンティティオブジェクトとして格納しているため、それをはっきり読み取ることはできません)、JSONを使用します。
それは、この基本的な使用のために非常に簡単です:
あなたはこの同じ構造の例を持っている場合は、前に示したとおり
User 1 scores:
15,
User 2 scores:
20,
あなたはそのような、たとえば、辞書としてそれを作ることができます。
ユーザー1のスコアにアクセスするには、入力する必要があるのはscores['User 1']
なので、編集と使用がさらに簡単になります。
この辞書のシリアライゼーション部分では、ファイルに保存するために、json.dumps(<your array>)
関数を使用してdictを表すシリアライズされた文字列を取得できます。そのように使用されます:
import json
dictionary = { 'User 1': 15, 'User 2': 20 }
print(json.dumps(dictionary))
プリントはどのように表示されます。 JSON準拠のファイルです。 保存するには単純なfile.write()
が必要で、取り出すにはfile.read()
が必要です。
(試験後、あなたの例でjson.dumpsを使用すると、私にそれを与える:{"User 2": 20, "User 1": 15}
)
そのデータを取得するには、json.loads(<json string>)
機能を使用する必要があります。
import json
# As you can see, string representation of json.
dictionary = json.loads("{"User 2": 20, "User 1": 15}")
あなたのdictがロードされました&が保存されました!ここでは、ファイルIOの
もっとに関する情報:ここにJSON PythonのネイティブAPIのhttp://www.tutorialspoint.com/python3/python_files_io.htm
もっとに関する情報:助けhttps://docs.python.org/3/library/json.html
願っています!
EDIT:あなたの情報について
、PythonのネイティブファイルIOモジュールはファイルだけで読み取りバッファの位置を変更するには1つの機能を提供し、その機能は内の特定のバイトにあなたを動かすfile.seek()
関数でありますファイル。 (ファンクションパラメータとしてバイトアドレスを渡す必要があります。例えば、file.seek(0, 0)
はファイルの先頭に位置します)。
file.tell()
機能を使用してファイル内の位置を取得することができます。
私はこれが[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)かもしれないと感じています。データを調べることでうまくいくかもしれません['json'](https://docs.python.org/2/library/json.html)や[' pickle'](https://docs.python.org/2/library/pickle)のようなシリアライゼーションモジュールです。 html#module-pickle) –