ホームページ バックエンド開発 Python チュートリアル Python でシリアル化と逆シリアル化を使用する方法

Python でシリアル化と逆シリアル化を使用する方法

Oct 16, 2023 am 08:17 AM
python 連載 逆シリアル化

Python でシリアル化と逆シリアル化を使用する方法

Python でシリアル化と逆シリアル化を使用する方法、具体的なコード例が必要です

シリアル化と逆シリアル化は、データの保存と送信プロセスの概念において非常に重要です。 Python では、pickle モジュールを使用してシリアル化および逆シリアル化操作を実装できます。この記事では、Python で pickle モジュールを使用してシリアル化および逆シリアル化する方法を詳しく説明し、具体的なコード例を示します。

シリアル化は、オブジェクトを保存または送信できる形式に変換するプロセスです。 Python では、オブジェクトをバイト ストリームにシリアル化する方法は非常に簡単で、pickle モジュールの dump() 関数を使用するだけです。以下はサンプル コードです:

1

2

3

4

5

6

7

8

import pickle

 

# 创建一个字典对象

data = {"name": "Alice", "age": 25, "city": "Shanghai"}

 

# 序列化并保存到文件

with open("data.pkl", "wb") as f:

    pickle.dump(data, f)

ログイン後にコピー

上記のコードでは、辞書オブジェクト データを作成し、pickle.dump() 関数を使用してそれをバイト ストリームにシリアル化し、data という名前のファイルに保存します。ファイル内の .pkl。

逆シリアル化は、シリアル化されたバイト ストリームを元のオブジェクトに再変換するプロセスです。 Python では、pickle モジュールのload() 関数を使用して逆シリアル化操作を実装できます。以下はサンプル コードです。

1

2

3

4

5

6

7

8

import pickle

 

# 从文件中加载序列化的字节流

with open("data.pkl", "rb") as f:

    loaded_data = pickle.load(f)

 

# 打印反序列化后的对象

print(loaded_data)

ログイン後にコピー

上記のコードでは、pickle.load() 関数を使用して、シリアル化されたバイト ストリームを data.pkl ファイルからロードし、元のオブジェクトに逆シリアル化します。最後に、逆シリアル化されたオブジェクトを出力します。

さらに、pickle は、ファイル経由ではなくメモリ内でシリアル化および逆シリアル化操作を行うための dumps() 関数と loads() 関数も提供します。以下はサンプル コードです:

1

2

3

4

5

6

7

8

9

10

11

12

13

import pickle

 

# 创建一个字典对象

data = {"name": "Alice", "age": 25, "city": "Shanghai"}

 

# 在内存中进行序列化

serialized_data = pickle.dumps(data)

 

# 在内存中进行反序列化

deserialized_data = pickle.loads(serialized_data)

 

# 打印反序列化后的对象

print(deserialized_data)

ログイン後にコピー

上記のコードでは、pickle.dumps() 関数を使用して辞書オブジェクト データをシリアル化し、結果を変数 Serialized_data に保存します。次に、 pickle.loads() 関数を使用して、シリアル化されたバイト ストリームを Serialized_data からロードし、元のオブジェクトに逆シリアル化します。最後に、逆シリアル化されたオブジェクトを出力します。

これは、Python の pickle モジュールを使用したシリアル化と逆シリアル化の基本操作です。シリアル化と逆シリアル化を通じて、異なるアプリケーションまたはネットワーク間でオブジェクトを転送したり、後で使用するためにオブジェクトをファイルに保存したりできます。実際のアプリケーションでは、特定のニーズやシナリオに応じて、シリアル化および逆シリアル化操作を実行するための適切な方法を選択できます。

以上がPython でシリアル化と逆シリアル化を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

テンプレートのメリットとデメリットは何ですか? テンプレートのメリットとデメリットは何ですか? May 08, 2024 pm 03:51 PM

テンプレートのメリットとデメリットは何ですか?

Google AI、開発者向けに Gemini 1.5 Pro と Gemma 2 を発表 Google AI、開発者向けに Gemini 1.5 Pro と Gemma 2 を発表 Jul 01, 2024 am 07:22 AM

Google AI、開発者向けに Gemini 1.5 Pro と Gemma 2 を発表

Deepseek Xiaomiをダウンロードする方法 Deepseek Xiaomiをダウンロードする方法 Feb 19, 2025 pm 05:27 PM

Deepseek Xiaomiをダウンロードする方法

わずか 250 ドルで、Hugging Face のテクニカル ディレクターが Llama 3 を段階的に微調整する方法を教えます わずか 250 ドルで、Hugging Face のテクニカル ディレクターが Llama 3 を段階的に微調整する方法を教えます May 06, 2024 pm 03:52 PM

わずか 250 ドルで、Hugging Face のテクニカル ディレクターが Llama 3 を段階的に微調整する方法を教えます

いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する May 06, 2024 pm 04:43 PM

いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する

どうやって彼にdeepseekに尋ねますか どうやって彼にdeepseekに尋ねますか Feb 19, 2025 pm 04:42 PM

どうやって彼にdeepseekに尋ねますか

評価関数の保存方法 評価関数の保存方法 May 07, 2024 am 01:09 AM

評価関数の保存方法

NET40とはどのようなソフトウェアですか? NET40とはどのようなソフトウェアですか? May 10, 2024 am 01:12 AM

NET40とはどのようなソフトウェアですか?

See all articles