Ниже приведен пример того, как вы можете писать и читать файл рассола. Обратите внимание, что если вы продолжаете добавлять данные рассола в файл, вам нужно будет продолжать чтение из файла, пока вы не найдете то, что хотите, или пока не будет сгенерировано исключение при достижении конца файла. Это то, что делает последняя функция.
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')