この記事は、Python の pickle モジュールを理解するのに役立ちます

リリース: 2023-07-25 14:27:16
転載
1711 人が閲覧しました

1. pickle モジュールとは何ですか?

永続化モジュールとは何ですか?

永続化モジュール: データを永続化します。

pickle モジュールは、カスタム クラスを含むさまざまなデータを永続化できる Python 固有の永続化モジュールであり、Python 自体で複雑なデータを保存するのに適しています。

ただし、永続化された文字列は読み取ることができず、Python 環境でのみ使用でき、他の言語とのデータ交換には使用できません。


#2. pickle モジュールの役割

Python オブジェクトを直接保存する最初に文字列に変換して保存することなく、また基礎となるファイル アクセス操作を使用せずに、バイナリ ファイルに直接書き込みます。pickle モジュールは、Python 言語に固有のバイナリ形式を作成します。ユーザーはファイルの詳細を考慮する必要はありません。オブジェクトの読み取りおよび書き込み操作を完了するのに役立ちます。pickle を使用すると、ファイルを開いてデータ形式を変換して書き込むよりも多くのコード行を節約できます。


3. 主なメソッド

pickle での dumps() および loads() 操作はバイトです。dump()と lload()を使用しながら型を読み取ります。ファイルを書き込む場合は、rb または wb モードを使用します。これは、バイト型データのみを受信することを意味します。

1. pickle.dump(obj, file)

Python データを pickle 形式のファイルに変換して保存します。

with open('data.pickle', 'wb') as f: pickle.dump(data, f)
ログイン後にコピー

上で保存したデータ ファイルをテキスト エディタで開くと、すべて判読できないエンコードになっていることがわかります。

#操作結果:

この記事は、Python の pickle モジュールを理解するのに役立ちます

2. pickle.dumps(obj)

将Python数据转换为pickle格式的bytes字串。

import pickle dic = {"k1":"v1","k2":123} s = pickle.dumps(dic) print(s)
ログイン後にコピー

运行结果:

この記事は、Python の pickle モジュールを理解するのに役立ちます

3. pickle.load(file)

从pickle格式的文件中读取数据并转换为Python的类型。

with open('data.pickle', 'rb') as f: data = pickle.load(f)
ログイン後にコピー

4. pickle.loads(bytes_object)

将pickle格式的bytes字串转换为Python的类型。

import pickle dic = {"k1":"v1","k2":123} s = pickle.dumps(dic) dic2 = pickle.loads(s) print(dic2)
ログイン後にコピー

运行结果:

この記事は、Python の pickle モジュールを理解するのに役立ちます


四、项目演示

例1:

import pickle with open('data.pickle', 'rb') as f: data = pickle.load(f)
ログイン後にコピー

.picklle 格式的文件,用记事本打开是乱码。

运行结果:

この記事は、Python の pickle モジュールを理解するのに役立ちます


例2

Pickle可以持久化Python的自定义数据类型,但是在反持久化的时候,必须能够读取到类的定义

import pickle class Person: def __init__(self, n, a): self.name = n self.age = a def show(self): print(self.name+"_"+str(self.age)) aa = Person("张三", 20) aa.show() f = open('2.txt', 'wb') pickle.dump(aa, f) f.close() # del Person # 注意这行被注释了 f = open('2.txt', 'rb') bb = pickle.load(f) f.close() bb.show()
ログイン後にコピー

运行结果:

この記事は、Python の pickle モジュールを理解するのに役立ちます

del Personのコメントを解除すると、コード定義内の Person クラスが削除されます。とすると、後続のload()メソッドでエラーが発生します。

この記事は、Python の pickle モジュールを理解するのに役立ちます


#5. 概要

この記事では主に Python について紹介します。 pickle モジュールでは、モジュール内の主なメソッドが詳しく紹介されています。

以上がこの記事は、Python の pickle モジュールを理解するのに役立ちますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:Go语言进阶学习
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!