pickleモジュールストレージデータ
3698 ワード
機械学習では,訓練されたモデルを格納することがしばしば必要であり,意思決定時にモデルを直接読み出し,モデルを再訓練する必要がなく,時間を大幅に節約できる.Pythonが提供するpickleモジュールは、オブジェクトをシーケンス化してディスクに保存し、必要に応じて読み出すことができ、どのオブジェクトでもシーケンス化操作を実行することができます.
Pickleモジュールで最も一般的な関数は次のとおりです.
(1)pickle.dump(obj, file, [,protocol])
関数の機能:objオブジェクトを開いたfileにシーケンス化して格納します.
パラメータの説明: obj:シーケンス化したいobjオブジェクト. file:ファイル名. protocol:使用するプロトコルをシーケンス化します.この項目が省略されている場合、デフォルトは0です.負またはHIGHEST_の場合PROTOCOLは、最高のプロトコルバージョンを使用します.
(2)pickle.load(file)
関数の機能:fileのオブジェクトをシーケンス化して読み出します.
パラメータの説明: file:ファイル名.
(3)pickle.dumps(obj[, protocol])
関数の機能:objオブジェクトをファイルに格納するのではなくstring形式にシーケンス化します.
パラメータの説明: obj:シーケンス化したいobjオブジェクト. protocal:この項目が省略されている場合、デフォルトは0です.負またはHIGHEST_の場合PROTOCOLは、最高のプロトコルバージョンを使用します.
(4)pickle.loads(string)
関数の機能:stringからシーケンス化前のobjオブジェクトを読み出す.
パラメータの説明: string:ファイル名.
【注】dump()は、load()と比較してdumps()およびloads()にもう1つの能力を有する.dump()関数は、複数のオブジェクトを連続的に同じファイルにシーケンス化して格納し、load()を呼び出して、これらのオブジェクトを同じ順序で逆シーケンス化して読み出すことができる.
###コード例
Pickleモジュールで最も一般的な関数は次のとおりです.
(1)pickle.dump(obj, file, [,protocol])
関数の機能:objオブジェクトを開いたfileにシーケンス化して格納します.
パラメータの説明:
(2)pickle.load(file)
関数の機能:fileのオブジェクトをシーケンス化して読み出します.
パラメータの説明:
(3)pickle.dumps(obj[, protocol])
関数の機能:objオブジェクトをファイルに格納するのではなくstring形式にシーケンス化します.
パラメータの説明:
(4)pickle.loads(string)
関数の機能:stringからシーケンス化前のobjオブジェクトを読み出す.
パラメータの説明:
【注】dump()は、load()と比較してdumps()およびloads()にもう1つの能力を有する.dump()関数は、複数のオブジェクトを連続的に同じファイルにシーケンス化して格納し、load()を呼び出して、これらのオブジェクトを同じ順序で逆シーケンス化して読み出すことができる.
###コード例
# pickle ,
import pickle
dict={
'xiaoming':23,
'xiaowang':24,
'xiaoli':21
}
file=open('class.txt',mode='wb')
pickle.dump(dict,file)
file.close()
file=open('class.txt',mode='rb')
newDict=pickle.load(file)
file.close()
print(type(newDict)) #