Python中的酸洗问题 [英] Problem with pickling in Python

查看:121
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆