Quello che segue è un esempio di come potresti scrivere e leggere un file pickle. Nota che se continui ad aggiungere dati pickle al file, dovrai continuare a leggere dal file fino a quando non trovi quello che desideri o viene generata un'eccezione raggiungendo la fine del file. Questo è ciò che fa l'ultima funzione.
import os
import pickle
PICKLE_FILE = 'pickle.dat'
def main():
add_to_pickle(PICKLE_FILE, 123)
add_to_pickle(PICKLE_FILE, 'Hello')
add_to_pickle(PICKLE_FILE, None)
add_to_pickle(PICKLE_FILE, b'World')
add_to_pickle(PICKLE_FILE, 456.789)
for item in read_from_pickle(PICKLE_FILE):
print(repr(item))
os.remove(PICKLE_FILE)
def add_to_pickle(path, item):
with open(path, 'ab') as file:
pickle.dump(item, file, pickle.HIGHEST_PROTOCOL)
def read_from_pickle(path):
with open(path, 'rb') as file:
try:
while True:
yield pickle.load(file)
except EOFError:
pass
if __name__ == '__main__':
main()
open('filename', 'wb')