`
zy13
  • 浏览: 44610 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

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

阅读更多

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

代码很少,如下:

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程序,写下来纪念一下



分享到:
评论

相关推荐

    C语言在vc下编写的Windows窗口小程序 小小计算器

    标题中的"C语言在vc下编写的Windows窗口小程序 小小计算器"揭示了这是一个使用C语言编程,通过Visual C++(通常简称为VC)环境开发的Windows应用程序。这个小程序是一个简单的计算器,展示了如何在Windows操作系统...

    小小图书馆《程序设计基础—C++》实验报告借鉴.pdf

    小小图书馆实验的目标是设计一个简单的图书管理系统,主要完成的工作包括借书、还书、图书管理和读者维护。图书管理和读者维护功能中可以进行日常的数据添加、删除、查找、显示等功能,使日常图书借阅工作能正常进行...

    完整的记事本(C#源代码编写)小小记事本是仿Woindow记事本的程序

    【标题】中的“完整的记事本(C#源代码编写)”是指使用C#编程语言实现的一个类似于Windows内置记事本的应用程序。C#是一种面向对象的、现代化的编程语言,广泛用于开发桌面应用、Web应用以及游戏等。这个项目可能是...

    小小的相册浏览程序源码

    【标题】:“小小的相册浏览程序源码”指的是一个基于ASP技术开发的在线相册应用程序。这个程序允许用户上传和展示个人照片,分享生活瞬间,同时也适用于企业展示产品或者制作电子版宣传材料。 【描述】:描述中...

    PHP游览计数器,自己做的一个小小计数器

    1. **文件读写操作**:计数器需要将访问次数持久化存储,这通常通过在服务器上创建一个文本文件(如counter.txt)来实现。每次访问时,程序会读取文件中的数字,增加1,然后将更新后的数值写回文件。 2. **会话管理...

    小小电话簿

    【小小电话簿】是一款基于C#编程语言开发的控制台应用程序,主要功能是实现一个简单的本地电话簿管理功能。这个程序并不依赖任何数据库系统,而是将数据存储在本地文件中,便于用户在不联网的情况下也能方便地管理和...

    QT做一个按钮Qpushbutton 倒计时功能的小小程序

    这个“QT做一个按钮Qpushbutton 倒计时功能的小小程序”就是这样一个实例,它展示如何在点击按钮后启动一个倒计时,并在计时结束时改变按钮的状态或显示信息。 首先,我们需要了解QPushButton的基本用法。...

    易语言小程序 小小定时器

    在“小小定时器”中,用户设定时间后,定时器组件会在指定时间触发一个事件,执行提醒操作。 2. **计时器组件**:在易语言中,计时器组件是实现定时功能的基础。它能够周期性地触发事件,用于控制程序的执行流程。...

    关于前台的一个小小的项目

    【标题】"关于前台的一个小小的项目"涉及到的是前端开发领域,特别是与Web应用程序相关的实践。在Web开发中,"前台"通常指的是用户直接交互的部分,包括网页的布局、设计、表单、按钮等元素,这些都是通过HTML、CSS...

    小小的qq聊天

    【描述】:“这是一个模仿qq的聊天的小小的软件,简单的一个聊天程序,容易”这句话表明该软件规模较小,功能相对基础,可能不包含QQ的所有高级特性,但足够让用户进行基本的文字交流。"容易"一词暗示了它的操作界面...

    文本替换工具--支持同个文件夹下的多个文本中的字段替换

    文本替换工具是计算机软件领域内的一项创新应用,尤其对于程序员、网站管理员以及任何需要处理大量文本文件的用户来说,它提供了一个高效、实用且易于使用的解决方案。在过去,进行文件中的文本替换是一项繁琐且易错...

    年会抽奖转盘小程序

    该程序由两个主要页面构成,旨在创造一个有趣的互动环节,让参与者有机会获得红包奖励。抽奖规则独特且简单易懂,增加了活动的趣味性和悬念。 首先,我们要理解这个程序的核心功能。抽奖转盘是常见的抽奖形式,用户...

    小小记事本

    "小小记事本"是一个基于.NET框架开发的简易文本编辑器,主要由VB.NET语言编写。这个项目对于初学者来说,是一个很好的实践平台,能够帮助理解控件的使用、事件处理以及基本的用户界面设计。在描述中提到的问题,是...

    swift-一个小小的日志控制台显示使用iOS应用的信息采用Swift3编写

    日志是应用程序运行时生成的文本信息,记录了程序执行过程中的事件、错误、警告和其他相关信息。它们通常包含时间戳、优先级级别(如调试、信息、警告、错误)以及具体的消息内容。在Swift中,我们可以通过`print()`...

    一个小小的本科毕业设计.zip

    《Android UI 设计详解——基于...理解并熟练运用上述知识点,不仅能完成一个小小的本科毕业设计,还能为成为一名出色的Android开发者奠定坚实的基础。在实践中不断探索和学习,才能真正驾驭这个充满无限可能的平台。

    小小图书馆的开发,初学者适用

    总的来说,“小小图书馆”的开发是一个很好的起点,它涵盖了计算机科学中的许多基础概念,对于那些想要踏入编程世界的人来说,是一个既有趣又有挑战性的实践项目。通过这个项目,初学者可以逐步建立起对软件开发的...

    小小图书馆

    "小小图书馆"是一个基于C++编写的图书管理系统,旨在帮助初学者理解面向对象编程和文件操作等核心概念。这个系统提供了图书管理和读者管理的功能,能够有效地组织和存储数据,并将其持久化保存到文件中,方便后续...

    C++实验课程------小小图书馆源代码下载

    通过实际操作“小小图书馆”项目,你可以巩固C++的基础知识,同时学习如何设计和实现一个小型的软件系统。这个项目不仅有助于提高编程技能,还有助于理解软件工程的实践,包括代码组织、测试和调试等过程。在实践中...

    小小测试的软件安装包.rar

    综上所述,"小小测试的软件安装包"似乎是一个用于测试阶段的小型文本搜索应用程序。软件的主执行文件名为"cvidistkit.Station",它可能是负责用户交互、执行搜索算法、处理数据,并将结果反馈给用户的部分。考虑到是...

    小小留言本 终结版

    基于这些信息,我们可以推测“小小留言本 终结版”是一个基于Web的留言系统,采用面向对象的设计,提供了管理员账户进行后台管理。系统可能包含用户注册、登录、发布留言、查看和回复留言等功能。源代码和数据存储...

Global site tag (gtag.js) - Google Analytics