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