この記事では、Python の json モジュールと pickle モジュールについて簡単に紹介します (サンプル付き)。これには一定の参考価値があります。必要な友人は参照できます。お役に立てれば幸いです。
Python の json モジュールと pickle はどちらもデータのシリアル化と逆シリアル化に使用され、同じメソッド (ダンプ、ダンプ、ロード、ロード) を提供します。
dumps(obj): オブジェクト を str にシリアル化します。
dump(obj, fp): オブジェクト を str にシリアル化し、ファイルに保存します。
(シリアル化された)文字列 を Python オブジェクトに逆シリアル化します。
を Python オブジェクトに逆シリアル化します。 json モジュールと pickle モジュールはどちらもデータのシリアル化と逆シリアル化に使用されますが、それらの間には依然として多くの
違い汎用性:
json シリアル化後の文字列はユニバーサル形式 (通常の文字列) である 異なるプラットフォームや言語でも使用可能で認識されますが、pickle でシリアル化された文字列は Python (Python 専用シリアル化モジュール) でのみ認識できます。処理されるデータ型:
json がシリアル化できるオブジェクトは Python の基本的なデータ型のみですが、pickle は Python のすべてのデータ型をシリアル化できます。処理されるデータ型:
json シリアル化後の文字列はテキスト型 (ファイルをメモ帳で開くか、印刷コンテンツで印刷した後でも理解できます)、 pickle によってシリアル化された文字列はバイナリ ストリーム データです (メモ帳を開いたり印刷したりすると、内部の内容はまったく理解できません)。したがって、ファイル操作を実行するときは、どのモジュールが使用されているか、および b 形式で開く必要があるかどうかに注意してください。使用スペース:
json はより小さなストレージ スペースを必要としますが、pickle はより大きなストレージ スペースを必要とします。以下は、pickle ファイル操作の簡単な例です。
>>> import pickle >>> dic = {'a': 111, 'b': 222, 'c': 333} >>> f = open('D:/pk_file.pk', 'wb') >>> lst = [1, 2, 4, 5] >>> # 将字典对象和列表对象序列化,并存入文件,文件名后缀自定义为.pk >>> pickle.dump(dic, f) >>> pickle.dump(lst, f) >>> f.close() >>> # 将文件中的Python对象按写入顺序读取出来,且一次读取一个对象 >>> pk_f = open('D:/pk_file.pk', 'rb') >>> result = pickle.load(pk_f) >>> type(result) <class 'dict'> >>> result {'a': 111, 'b': 222, 'c': 333} >>> other_result = pickle.load(pk_f) >>> type(other_result) <class 'list'> >>> other_result [1, 2, 4, 5] >>>
Python ビデオ チュートリアル
およびPython 記事チュートリアル
の列に注目してください。 ! !以上がPython の json モジュールと pickle モジュールの簡単な紹介 (例付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。