Добавление записей в двоичный файл с помощью pickle в Python

#python #file #append #pickle #nested-lists

Вопрос:

У меня возникла проблема с моим двоичным файлом,так как я хочу добавить некоторые записи в файл в виде вложенного списка, и он работал нормально, когда я впервые добавил значения, когда файл был пуст, но когда я попытался во второй раз, он не отображал записи, но эти данные были сохранены в двоичном файле.

Может ли кто-нибудь решить эту проблему , пожалуйста

код:

для добавления значений

 import pickle
def addval():
    filecus=open('customer.dat','ab')
    cuslist=[]
    while True:
        cusid=int(input('Enter Customer ID'))
        fname=input('Enter First Name')
        lname=input('Enter Last Name')
        address=input('Enter Address')
        city=input('Enter City name')
        post=input('Enter Postal code')
        rec=[cusid,fname,lname,address,city,post]
        cuslist.append(rec)
        op=input('Do you want to ADD more RECORDS(y/n)')
        op1=op.lower()
        if op1=='y':
            continue
        elif op1=='n':
            break
        else:
            print('t---------------nInvalid Choice')
            break
    pickle.dump(cuslist,filecus)
    filecus.close() 

addval()
 

##для чтения

 import pickle

def dash():
    for da in range(102):
        print('-',end='')
    print()

def displayall():
    filecus=open('customer.dat','rb')
    data=pickle.load(filecus)
    dash()
    print("{:<13} {:<12} {:<12} {:<38} {:<12} {:<6}".format('Customer Id','First Name','Last Name','Address','City','Postal Code'))
    dash()
    for i in data:
        a,b,c,d,e,f=i
        print("{:<13} {:<12} {:<12} {:<38} {:<12} {:<6}".format(a,b,c,d,e,f))
    dash()
    filecus.close()

displayall()