iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python实现命令行通讯录实例教程
  • 452
分享到

Python实现命令行通讯录实例教程

命令行实例教程通讯录 2022-06-04 18:06:45 452人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

1、实现目标 编写一个命令行通讯录程序,可以添加、查询、删除通讯录好友及电话 2、实现方法 创建一个类来表示一个人的信息。使用字典存储每个人的对象,名字作为键。 使用pickle模块永久地把这些对象存储

1、实现目标

编写一个命令行通讯录程序,可以添加、查询、删除通讯录好友及电话

2、实现方法

创建一个类来表示一个人的信息。使用字典存储每个人的对象,名字作为键。
使用pickle模块永久地把这些对象存储下来。
使用字典内建的方法添加、删除修改人员信息。

3、思维导图

查看图片

4、编写伪代码


# 1.创建字典用来存储通讯录信息
# 2.创建人员类,包含姓名、关系、电话三个属性
# 3.创建操作类,包含增加、查询、删除人员,退出,保存并退出五个方法
# 4.程序运行
# 5.判断通讯录文件是否存在
# 6.如果存在,将文件读取到personDictionary字典中
# 7.如果不存在,提示并创建
# 8.while循环等待读取指令
  # 9.如果指令为addperson,添加通讯录人员
  # 10.如果指令为delperson,删除通讯录人员
  # 11.如果指令为search,查找通讯录人员
  # 12.如果指令为quit,不保存退出程序
  # 13.如果指令为sq,保存更改并退出程序

5、根据伪代码编写代码


import pickle as p
import os

# 1.创建字典用来存储通讯录信息
personDictionary= {'name':{'relationship':'','tel':''}}
relationshipList=['家人','朋友','同事']

# 2.创建人员类,包含姓名、关系、电话三个属性
class Person:
  def __init__(self,name,relationship= relationshipList[1],tel='None'):
    personDictionary[name]= {'relationship':relationship,'tel':tel}
# 3.创建操作类,包含增加、查询、删除人员,退出,保存并退出五个方法
class Operation:
  def Addperson():
    addname= input('请输入姓名:')
    addrelationship= int(input('请选择分组(0:家人,1:朋友,2:同事):'))
    addtel= input('请输入电话:')
    Person(addname,relationshipList[addrelationship],addtel)
  def Delperson():
    name= input('请输入要删除的联系人姓名:')
    del personDictionary[name]
  def Search():
    name= input('请输入要查找的联系人的姓名:')
    if name in personDictionary:
      print('姓名:%s,关系:%s,电话:%s' %(name,personDictionary[name]['relationship'],personDictionary[name]['tel']))
    else:
      print('联系人不存在。')
  def Quit():
    running= False
  def SaveQuit():
    f= open(addressbookFile,'wb')
    p.dump(personDictionary,f)
    f.close()
    running= False
# 4.程序运行
running= True
# 5.判断通讯录文件是否存在
addressbookFile= 'addressbook.data'
# 6.如果存在,将文件读取到personDictionary字典中
if os.path.exists(addressbookFile):
  f= open(addressbookFile,'rb')  
  personDictionary= p.load(f)
# 7.如果不存在,提示并创建
else:
  jCommand= input('未找到通讯录文件,是否创建?yes/no ')
  if jCommand== 'yes':
    f= open(addressbookFile,'wb')
    p.dump(personDictionary,f)
    f.close()
  elif jCommand== 'no':
    running= False
# 8.while循环等待读取指令
while running:
  command= input('请输入指令:')
  # 9.如果指令为addperson,添加通讯录人员
  if command== 'addperson':
    Operation.Addperson()
    continue
  # 10.如果指令为delperson,删除通讯录人员
  elif command== 'delperson':
    Operation.Delperson()
    continue
  # 11.如果指令为search,查找通讯录人员
  elif command== 'search':
    Operation.Search()
    continue
  # 12.如果指令为quit,不保存退出程序
  elif command== 'quit':
    Operation.Quit()
    break
  # 13.如果指令为sq,保存更改并退出程序
  elif command== 'sq':
    Operation.SaveQuit()
    break
  else:
    print('未找到指令!')
    continue

6、演示


python3 addressbook.py 
请输入指令:search
请输入要查找的联系人的姓名:zhangsan
联系人不存在。
请输入指令:addperson
请输入姓名:zhangsan
请选择分组(0:家人,1:朋友,2:同事):1
请输入电话:1234567
请输入指令:search
请输入要查找的联系人的姓名:zhangsan
姓名:zhangsan,关系:朋友,电话:1234567
请输入指令:sq
$ python3 addressbook.py 
请输入指令:search
请输入要查找的联系人的姓名:zhangsan
姓名:zhangsan,关系:朋友,电话:1234567
请输入指令:addperson
请输入姓名:lisi
请选择分组(0:家人,1:朋友,2:同事):1
请输入电话:1234567
请输入指令:q
未找到指令!
请输入指令:quit
$ Python3 addressbook.py 
请输入指令:search
请输入要查找的联系人的姓名:lisi
联系人不存在。
请输入指令:search
请输入要查找的联系人的姓名:zhangsan
姓名:zhangsan,关系:朋友,电话:1234567
请输入指令:quit

总结

以上就是Python实现命令行通讯录实例教程的全部内容,如果有疑问可以留言讨论,希望本文的内容对大家学习使用python能有所帮助。

--结束END--

本文标题: Python实现命令行通讯录实例教程

本文链接: https://www.lsjlt.com/news/14350.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python实现通讯录系统
    本文实例为大家分享了python实现通讯录系统的具体代码,供大家参考,具体内容如下 一、首先,给大家看一下这个系统的主菜单效果 如下: 二、步骤分析 1、首先创建一个main.py...
    99+
    2024-04-02
  • Netty 教程 – 实现WebSocket通讯
    WebSocket WebSocket协议是基于TCP的一种新的网络协议,它实现了浏览器与服务器全双工(full-duplex)通信,允许服务器主动发送信息给客户端 优点及作用 Http协议的弊端: Http协议为半双工协议。(半双工:同一...
    99+
    2023-09-05
    websocket 网络 服务器
  • Python怎么通过paramiko库实现远程执行linux命令
    今天小编给大家分享一下Python怎么通过paramiko库实现远程执行linux命令的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解...
    99+
    2023-07-05
  • C语言实现简易通讯录实例
    目录一、问题描述二、功能介绍二、实现流程1.创建通讯录2.创建源文件test.c3.创建源文件contact.c4.删除通讯录联系人信息 (DelContact函数实现)5...
    99+
    2024-04-02
  • Python教程之pytest命令行方式运行用例
    目录前言pycharm里命令行运行用例终端中使用pytest用例全部运行打印详情-v指定组别使用表达式指定某些用例-k遇到失败即停止运行-x指定运行某个测试py文件指定运行某个cla...
    99+
    2024-04-02
  • Python通过paramiko库实现远程执行linux命令的方法
    (1)首先安装paramiko库 pip install paramiko (2)封装了以下类,可以直接拿来使用 import paramiko class SSHClient(object): def __...
    99+
    2023-03-07
    Python远程执行linux命令 Python paramiko库 Python paramiko远程执行
  • 通过Golang实现linux命令ls命令(命令行工具构建)
    目录ls 命令os.Args 读取参数pflag小结ls 命令 要实现ls,首先先我们复习一下ls命令。 ls不加任何参数,表示查询当前目录下的文件/文件夹ls后面加上路径,列出所有...
    99+
    2023-01-13
    Golang实现命令行工具 Golang命令行工具 Golang命令行
  • python实现通讯录管理系统
    本文实例为大家分享了python实现通讯录管理系统的具体代码,供大家参考,具体内容如下 题目 期末项目  一. 项目要求 利用函数实现通讯录管理系统,通讯录的内容包含姓名、...
    99+
    2024-04-02
  • MyBatis命令行实现逆向工程的示例
    这篇文章主要介绍了MyBatis命令行实现逆向工程的示例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.MyBatis逆向工程介绍在开发过...
    99+
    2024-04-02
  • python怎么实现通讯录系统
    这篇文章主要讲解了“python怎么实现通讯录系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python怎么实现通讯录系统”吧!一、首先,给大家看一下这个系统的主菜单效果如下:二、步骤分...
    99+
    2023-06-30
  • C语言实现通讯录程序
    本文实例为大家分享了C语言实现通讯录程序的具体代码,供大家参考,具体内容如下 设计要求: 可以存放1000个人的信息,每个人的信息包括姓名、年龄、性别、电话、住址 通讯录功能包括: ...
    99+
    2024-04-02
  • C语言编程内存分配通讯录静态实现示例代码教程
    实现一个通讯录: 通讯录可以用来存储1000个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址 提供方法: 1. 添加联系人信息 2. 删除指定联系人信息 3. 查找指定联系...
    99+
    2024-04-02
  • Python的命令行参数实例详解
    目录0. 命令行参数1. sys.argv2. getopt2.1 getopt.getopt 方法2.2 Exception getopt.GetoptError3. argpar...
    99+
    2024-04-02
  • Python命令行运行文件的实例方法
    1、说明 写了python文件,想通过命令执行它,进入目录,并在命令执行中输入python文件名称。 2、实例 例如,桌子上有文件hello.py,内容是印刷一句话 print(...
    99+
    2024-04-02
  • Python实现脚本转换为命令行程序
    目录搭建骨架脚本使用 Pyscaffold 创建应用程序CLI 工具化测试搭建骨架脚本和模块在我的职业生涯中,我写过、用过和看到过很多随意的脚本。一些人需要半自动化完成任务,于是它们...
    99+
    2024-04-02
  • Docker命令让普通用户能够执行的实现示例
    这篇文章给大家分享的是有关Docker命令让普通用户能够执行的实现示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。安装完docker一般就会有docker用户组第二步、将当前用户添加到docker组sudo&n...
    99+
    2023-06-14
  • python运行shell命令subprocess的实现
    目录概述subprocess的子模块概述 linux中一个进程可以fork一个子进程,并让这个子进程exec另外一个程序。在python中,可以通过标准库中的subprocess包来...
    99+
    2023-03-19
    python运行shell命令subprocess Python subprocess执行shell命令
  • 实现 Python 脚本生成命令行
    目录Fire使用方法方法支持类支持重新改写有时候我们会有这样的一个需求: 我们定义了一个 Python 的方法,方法接收一些参数,但是调用的时候想将这些参数用命令行暴露出来。 比如说...
    99+
    2024-04-02
  • C语言编程动态内存开辟实现升级版通讯录教程示例
    目录前言一、存放联系人信息二、通讯录初始化三、增加联系人四、销毁通讯录后记前言 所谓动态内存开辟的通讯录,就是我需要多少联系人,就给多少联系人,防止给定一个联系人上限,需要增加联系人...
    99+
    2024-04-02
  • C#wpf使用ffmpeg命令行实现录屏的示例代码
    目录前言一、主要步骤1、使用 AllowsTransparency实现穿透框2、获取音频设备名称3、命令行启动ffmpeg4、使用JobObject管理子进程二、完整代码三、效果预览...
    99+
    2022-11-13
    C# wpf ffmpeg命令行录屏 C# wpf 录屏
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作