Python の json モジュールと pickle モジュールの簡単な紹介 (例付き)

不言
リリース: 2018-10-12 15:52:33
転載
1817 人が閲覧しました

この記事では、Python の json モジュールと pickle モジュールについて簡単に紹介します (サンプル付き)。これには一定の参考価値があります。必要な友人は参照できます。お役に立てれば幸いです。

Python の json モジュールと pickle はどちらもデータのシリアル化と逆シリアル化に使用され、同じメソッド (ダンプ、ダンプ、ロード、ロード) を提供します。

  • dumps(obj): オブジェクト を str にシリアル化します。

  • dump(obj, fp): オブジェクト を str にシリアル化し、ファイルに保存します。

  • loads(s):

    (シリアル化された)文字列 を Python オブジェクトに逆シリアル化します。

  • load(fp):
  • ファイル内の (シリアル化された) 文字列

    を 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 &#39;dict&#39;>
    >>> result
    {&#39;a&#39;: 111, &#39;b&#39;: 222, &#39;c&#39;: 333}
    >>> other_result = pickle.load(pk_f)
    >>> type(other_result)
    <class &#39;list&#39;>
    >>> other_result
    [1, 2, 4, 5]
    >>>
    ログイン後にコピー

上記は、この内容全体です。 Python に関するさらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの

Python ビデオ チュートリアル

および

Python 記事チュートリアル

の列に注目してください。 ! !

以上がPython の json モジュールと pickle モジュールの簡単な紹介 (例付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート