ホームページ >バックエンド開発 >Python チュートリアル >Pythonのシリアル化関数のjson&pickleを詳しく紹介
json モジュールは非常に重要なモジュールであり、あらゆる言語間でのクロスプラットフォームのデータ交換を実現でき、いくつかの比較的単純なデータ型の永続化も実現できます。 (ここでの永続化とは、文字列、リスト、タプル、辞書、その他のデータ型など、Python 内の比較的単純なデータ型を json 文字列の標準形式に変換し、ハードディスクに保存することを意味します。) json モジュール:
json.dumps(): (リスト、タプルなど) を含む Python の辞書ベースのデータ型を json 文字列に変換します。
json.loads(): json文字列をPythonで認識されるデータ型に変換します。
json.dump(): (リスト、タプル、文字列) を含む Python 辞書ベースのデータ型を json 文字列に変換し、変換された json 文字列をファイル ハンドルの中央を介してファイルに書き込みます。
json.load(): ファイル ハンドルを介してファイルから json 文字列を直接読み取り、Python で認識されるデータ型に変換します。
pickle モジュールは、Python プログラム間のデータ交換のみをサポートし、Python のより複雑なデータ型の一部を保持できます。
(pickle は、辞書、リスト、タプルなどの比較的単純なデータ型をハードディスクに保存できるだけでなく、関数、クラス、オブジェクトなどのより複雑なデータ型を永続化することもできます。
pickle モジュールの一般的に使用される関数:
(pickle モジュールの一般的に使用される関数は json と同じです)
pickle.dumps(): Python のデータ型を次のように変換します。特殊な文字列またはバイト (注意! python2 バージョン .7 では、pickle.dumps は Python データ型を読み取り不可能な文字列型に変換します。python3 より上のバージョンでは、pickle.dumps 関数が直接バイトに変換します。)
pickle .loads(): pickle によって変換された Python データ型を解析するために使用されます。
pickle.dump() は、ファイルハンドルを通じてファイルに直接書き込むことを除いて、ダンプと同じように機能します。
pickle.load() はファイルから直接バイトを読み取り、Python で認識されるデータ型に解析します。
最後に、json モジュールと pickle モジュールの特徴をまとめてみましょう:
json と pickle はどちらも、データ型のシリアル化と永続化機能を実現できます。
json はクロスプラットフォーム (クロス言語) のデータ交換を行うことができますが、pickle は Python と Python 間のデータ交換のみを実現できます。
pickle はクラス、オブジェクト、関数を含む Python のほぼすべてのデータ型を保持できますが、Json は文字列、リスト、タプルなどの一部の単純なデータ型のみを保持できます。
以上がPythonのシリアル化関数のjson&pickleを詳しく紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。