Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Artikel ini akan membantu anda memahami modul jeruk dalam Python

Artikel ini akan membantu anda memahami modul jeruk dalam Python

Go语言进阶学习
Go语言进阶学习ke hadapan
2023-07-25 14:27:161750semak imbas

1. Apakah modul acar?

Apakah modul kegigihan

Modul kegigihan: ia adalah untuk menjadikan data berterusan.

Modul jeruk ialah modul kegigihan khusus Python yang boleh mengekalkan pelbagai data termasuk kelas tersuai, dan lebih sesuai untuk penyimpanan data kompleks dalam Python itu sendiri.

Tetapi rentetan yang berterusan tidak boleh dibaca dan hanya boleh digunakan dalam persekitaran Python dan tidak boleh digunakan untuk pertukaran data dengan bahasa lain. . fail. Modul

acar akan mencipta format binari khusus untuk bahasa Python Ia tidak memerlukan pengguna untuk mempertimbangkan sebarang butiran fail. Ia akan membantu anda menyelesaikan operasi objek membaca dan menulis.

Menggunakan jeruk menjimatkan banyak baris kod daripada membuka fail, menukar format data dan menulis. .


Semasa membaca dan menulis fail, gunakan mod rb atau wb, yang bermaksud hanya menerima data jenis bait.

1. pickle.dump(obj, file)

Tukar dan simpan data Python kepada fail format jeruk.

with open('data.pickle', 'wb') as f:
    pickle.dump(data, f)
Buka fail data yang disimpan di atas dengan editor teks, dan anda akan mendapati bahawa semuanya adalah pengekodan yang tidak boleh dibaca. Hasil larian:

2. pickle.dumps(obj)  

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

import pickle
dic = {"k1":"v1","k2":123}
s = pickle.dumps(dic)
print(s)

运行结果:

Artikel ini akan membantu anda memahami modul jeruk dalam Python

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)

运行结果:

Artikel ini akan membantu anda memahami modul jeruk dalam Python


四、项目演示

例1:

import pickle


with open('data.pickle', 'rb') as f:
    data = pickle.load(f)

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

运行结果:

Artikel ini akan membantu anda memahami modul jeruk dalam Python


例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()

运行结果:

Artikel ini akan membantu anda memahami modul jeruk dalam Python

Jika anda membatalkan del Persondel Person这一行的注释,在代码中删除了Person类的定义,那么后面的load()Ulasan dalam baris ini memadamkan takrif kelas Orang dalam kod, kemudian load()Kaedah

akan menyebabkan ralat. Artikel ini akan membantu anda memahami modul jeruk dalam Python


5. Ringkasan

🎜Artikel ini terutamanya memperkenalkan modul jeruk dalam Python dan memberikan pengenalan terperinci kepada kaedah utama dalam modul. 🎜🎜

Atas ialah kandungan terperinci Artikel ini akan membantu anda memahami modul jeruk dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:Go语言进阶学习. Jika ada pelanggaran, sila hubungi admin@php.cn Padam