Persistenter Python-Datenspeicher: Grundlegende Verwendung des Pickle-Moduls

高洛峰
Freigeben: 2016-12-16 11:38:13
Original
1519 Leute haben es durchsucht

Das Pickle-Modul von Python implementiert die grundlegende Datensequenz und Deserialisierung. Durch die Serialisierungsoperation des Pickle-Moduls können wir die im Programm ausgeführten Objektinformationen in einer Datei speichern und durch die Deserialisierungsoperation des Pickle-Moduls können wir das vom letzten Programm gespeicherte Objekt aus der Datei erstellen.

Basisschnittstelle:

pickle.dump(obj, file, [,protocol])
Hinweis: Speichern Sie das Objekt obj in der Dateidatei.
Protokoll ist die für die Serialisierung verwendete Protokollversion, 0: ASCII-Protokoll, das serialisierte Objekt wird durch druckbaren ASCII-Code dargestellt. 1: altes Binärprotokoll, eingeführt in Version 2.3, das besser ist als das vorherige Effizienter. Unter anderem sind die Protokolle 0 und 1 mit älteren Python-Versionen kompatibel. Der Standardwert des Protokolls ist 0.
Datei: Dateiähnliches Objekt, in dem das Objekt gespeichert wird. Die Datei muss über eine write()-Schnittstelle verfügen. Die Datei kann eine im „w“-Modus geöffnete Datei oder ein StringIO-Objekt oder ein anderes Objekt sein, das die write()-Schnittstelle implementiert. Wenn Protokoll>=1, muss das Dateiobjekt im Binärmodus geöffnet werden.

pickle.load(file)
Hinweis: Lesen Sie einen String aus der Datei und rekonstruieren Sie ihn in das ursprüngliche Python-Objekt.
Datei: Dateiähnliches Objekt mit den Schnittstellen read() und readline().

 Ein einfacher Code

#使用pickle模块将数据对象保存到文件

import pickle

data1 = {'a': [1, 2.0, 3, 4+6j],
         'b': ('string', u'Unicode string'),
         'c': None}

selfref_list = [1, 2, 3]
selfref_list.append(selfref_list)

output = open('data.pkl', 'wb')

# Pickle dictionary using protocol 0.
pickle.dump(data1, output)

# Pickle the list using the highest protocol available.
pickle.dump(selfref_list, output, -1)

output.close()
Nach dem Login kopieren
#使用pickle模块从文件中重构python对象

import pprint, pickle

pkl_file = open('data.pkl', 'rb')

data1 = pickle.load(pkl_file)
pprint.pprint(data1)

data2 = pickle.load(pkl_file)
pprint.pprint(data2)

pkl_file.close()
Nach dem Login kopieren


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage