Python中的酸洗问题 [英] Problem with pickling in Python
本文介绍了Python中的酸洗问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
嗨
我无法理解为什么我的代码不起作用。如何让我的程序显示保存到文件的内容?
Code
Hi
I cannot work out why my code does not work. How do I make my program to display what has been saved to a file?
Code
import pickle
class People():
def __init__(self, name, surname, age, mobile_no, home_no):
self.name = name
self.surname = surname
self.age = age
self.mobile_no = mobile_no
self.home_no = home_no
def DisplayContacts(self):
print("First Name: \t", self.name)
print("Surname: \t", self.surname)
print("Age: \t", self.age)
print("Mobile Number: \t", self.mobile_no)
print("Home Number: \t", self.home_no)
print()
def addContact():
newname = str(input("First name: \t"))
newsurname = str(input("Surname: \t"))
newage = int(input("Age: \t"))
newmobile_no = int(input("Mobile Number: \t"))
newhome_no = int(input("Home Number: \t"))
newContact = People(newname, newsurname, newage, newmobile_no, newhome_no)
return newContact
cont = 1
contacts = []
while cont == 1:
with open ("NewList.pickle", "ab") as file1:
user = input("Do you want to add contact? (Y/N)")
if user == "Y" or user == "y":
print ("works")
contacts.append(addContact())
pickle.dump(contacts, file1)
file1.close()
else:
print ("111")
cont = 0
useropen = input("open file? (Y/N)")
if useropen == "Y" or useropen == "y":
with open ("NewList.pickle", "rb") as file1:
conatacts = pickle.load(file1)
try:
while True:
contacts.append(pickle.load(file1))
except EOFError:
pass
else:
print ("null")
推荐答案
这篇关于Python中的酸洗问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文