一个小小的文本行信息管理程序

本文介绍了一个使用Python编写的简单命令行地址簿程序。该程序允许用户添加、删除和搜索联系人的信息,如姓名、性别、年龄、关系、电话号码和电子邮件等。通过简单的代码示例,展示了如何实现这些基本功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 程序的功能:创建一个的命令行 地址簿 程序。在这个程序中,可以添加、删除和搜索你的联系人(朋友、家人和同事等等)以及它们的信息(诸如电子邮件地址和/或电话号码)。

代码很少,如下:

import cPickle as cp
persons = {}

class Person(object):
    name = 'unknown'
    sex = 'unknown'
    age = '0'
    relation = 'unknown'
    phone = 'unknown'
    email = 'unknown'
    def __init__(self,name):
        self.name = name
    def __str__(self):
        return "name:%s sex:%s age:%s phone:%s email:%s" % (self.name,self.sex,self.age,self.phone,self.email)


def load():
    f = file("addrs.data",'r')
    if f.readline():
        # file pointer untreads
        f.seek(0,0)
        persons = cp.load(f)
        f.close()
        return True
    else:
        f.close()
        return False

def dump():
    f = file("addrs.data",'w')
    cp.dump(persons,f)
    f.close()

def add(name):
    if load():
        print 'true'
    if persons.has_key(name):
        s = raw_input("This person exists, do you want to override the information?y or n:")
        if s=='n' or s=='N':
            return
   
    p = Person(name)
    p.sex = raw_input("sex:")
    p.age = raw_input('age:')
    p.relation = raw_input('relation:')
    p.phone = raw_input('phone:')
    p.email = raw_input('email:')
       
    persons[name] = p
    dump()

def delete(name):
    if not load():
        print 'no data'
        return

    #delete the person   
    if persons.has_key(name):
        del persons[name]
        print "%s has been deleted" % name
    else:
        print "no such person"       
    dump()

def search(name):
    if not load():
        print 'no data'
        return
   
    if persons.has_key(name):
        print persons[name]
    else:
        print 'no such person'

程序很小,不过是我写的第一个完整的python程序,写下来纪念一下



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值