shelve
shelve は、open() という 1 つの関数だけを持ち、ファイル名であるシェルフ オブジェクトを返します。それを使用します。 保存するには、単純に辞書として扱うことができます。保存が完了したら、close 関数を呼び出して閉じます。これには、次のような潜在的な小さな問題があります:[python] view plain copy >>> import shelve >>> s = shelve.open('test.dat') >>> s['x'] = ['a', 'b', 'c'] >>> s['x'].append('d') >>> s['x'] ['a', 'b', 'c']
[python] view plain copy >>> temp = s['x'] >>> temp.append('d') >>> s['x'] = temp >>> s['x'] ['a', 'b', 'c', 'd']
python3 では、json または pickle を使用してデータを永続化します。複数回ダンプできますが、以前のデータは後でダンプされたデータによって上書きされるため、ロードできるのは 1 回だけです。 。ダンプとロードを複数回実装したい場合は、shelve モジュールを使用できます。 shelve モジュールは、pickle でサポートされているすべてのデータ型を永続化できます。
import shelve import datetime info = {'name': 'bigberg', 'age': 22} name = ['Apoll', 'Zous', 'Luna'] t = datetime.datetime.now() with shelve.open('shelve.txt') as f: f['name'] = name # 持久化列表 f['info'] = info # 持久化字典 f['time'] = t # 持久化时间类型
'info', (512, 45) 'name', (0, 42) 'time', (1024, 44)
�]q (X ApollqX ZousqX Lunaqe. �}q (X ageqKX nameqX bigbergqu. �cdatetime datetime q C �" 2�q�qRq.
データの取得にはgetを使用します
'info', (512, 45) 'name', (0, 42) 'time', (1024, 44)
2. shelve モジュールは、pickle でサポートされている任意の Python データ形式を保持できます。
3. Shelve は pickle モジュールのパッケージです。
4. シェルブモジュールはダンプとロードを複数回行うことができます。
以上がシェルフモジュールの基本的な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。