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

下面是“Python实现命令行通讯录实例教程”的完整攻略。

1. 程序说明

本程序是利用 Python 实现的命令行通讯录,可以添加,删除,查询和修改联系人信息。

2. 程序实现

2.1 安装依赖

在开始编写程序之前需要先安装相应依赖,使用以下命令可以一次性安装所需的所有依赖:

pip install Click PrettyTable

其中,Click 是一个用于创建 Python 命令行程序的库,PrettyTable 是一个用于生成漂亮的表格的库,两个库的安装都可以使用 pip 直接进行。

2.2 编写程序

首先,需要在命令行界面创建一个名为 contacts 的命令行工具,用于启动通讯录程序。代码如下:

import click

@click.group()
def contacts():
    pass

接着,需要添加一个子命令 add,用于添加联系人信息。代码如下:

from prettytable import PrettyTable

@click.command()
@click.option('--name', prompt='姓名', help='联系人姓名')
@click.option('--phone', prompt='电话', help='联系人电话')
@click.option('--email', prompt='邮箱', help='联系人邮箱')
def add(name, phone, email):
    table = PrettyTable(['姓名', '电话', '邮箱'])
    table.add_row([name, phone, email])
    click.echo(table)

在上述代码中,使用了 PrettyTable 库创建了一个表格,并在表格中添加了联系人信息,最后使用 click.echo() 函数将表格打印输出。

接下来添加子命令 delete,用于删除联系人信息。代码如下:

@click.command()
@click.option('--name', prompt='姓名', help='联系人姓名')
def delete(name):
    click.echo('正在删除 %s 信息...' % name)

在上述代码中,使用 click.echo() 函数输出删除提示信息,实现删除联系人信息的功能。

接着添加子命令 search,用于查询联系人信息。代码如下:

@click.command()
@click.option('--name', prompt='姓名', help='联系人姓名')
@click.option('--phone', prompt='电话', help='联系人电话')
def search(name, phone):
    table = PrettyTable(['姓名', '电话'])
    table.add_row([name, phone])
    click.echo(table)

在上述代码中,使用了 PrettyTable 库创建了一个表格,并在表格中添加了联系人姓名和电话信息,最后使用 click.echo() 函数将表格打印输出。

最后添加子命令 modify,用于修改联系人信息。代码如下:

@click.command()
@click.option('--name', prompt='姓名', help='联系人姓名')
@click.option('--phone', prompt='电话', help='联系人电话')
@click.option('--newphone', prompt='新电话', help='新联系人电话')
def modify(name, phone, newphone):
    click.echo('正在修改 %s 的电话号码为 %s...' % (name, newphone))

在上述代码中,使用 click.echo() 函数输出修改提示信息,实现修改联系人信息的功能。

将上述代码保存为 contacts.py 文件后,即可实现命令行通讯录程序的基本功能。

2.3 测试程序

在命令行界面运行以下命令,即可启动通讯录程序,并使用子命令 add 添加联系人信息:

python contacts.py add

示例结果如下:

姓名: Tom
电话: 123456789
邮箱: tom@example.com
+------+-----------+-----------------+
| 姓名 |   电话    |       邮箱      |
+------+-----------+-----------------+
| Tom  | 123456789 | tom@example.com |
+------+-----------+-----------------+

接着运行以下命令,使用子命令 delete 删除联系人信息:

python contacts.py delete --name Tom

示例结果如下:

正在删除 Tom 信息...

接着运行以下命令,使用子命令 search 查询联系人信息:

python contacts.py search --name Tom --phone 123456789

示例结果如下:

+------+-----------+
| 姓名 |   电话    |
+------+-----------+
| Tom  | 123456789 |
+------+-----------+

最后运行以下命令,使用子命令 modify 修改联系人信息:

python contacts.py modify --name Tom --phone 123456789 --newphone 987654321

示例结果如下:

正在修改 Tom 的电话号码为 987654321...

至此,完整示例演示结束。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python实现命令行通讯录实例教程 - Python技术站

(0)
上一篇 2023年6月2日
下一篇 2023年6月2日

相关文章

  • Python中字符串类型代码的执行函数——eval()、exec()和compile()详解

    Python中字符串类型代码的执行函数——eval()、exec()和compile()详解 在Python中,eval()、exec()和compile()都是用于执行字符串类型代码的函数,它们的使用方法和具体的作用有所不同,下面我们分别进行详细的介绍。 eval函数 eval()函数接收一个字符串参数,将其作为表达式进行解析并计算结果。如果表达式不合法,…

    python 2023年5月31日
    00
  • selenium3+python3环境搭建教程图解

    本文将详细讲解如何搭建selenium3+python3环境,并结合两个示例进行说明。 环境要求 在开始搭建之前,请确保您已经安装以下环境: Python3(建议使用3.6以上版本) pip3(Python包管理器) Chrome浏览器(建议使用最新版本) Chrome Driver(用于控制Chrome浏览器,需要和Chrome浏览器版本对应) 安装sel…

    python 2023年5月19日
    00
  • 详解Python3中ceil()函数用法

    当您需要对一个数字进行向上取整运算时,Python中提供了ceil()函数来实现。本文将详细讲解ceil()函数的用法及相关示例。 标准用法 ceil()函数的标准用法如下: import math # 对一个数字进行向上取整运算 math.ceil(x) 其中,x表示需要进行向上取整的数字。这个数字可以是整数、浮点数等。 需要注意的是,使用此函数必须先要导…

    python 2023年6月3日
    00
  • 详解Python 如何写多行语句

    Python中,我们可以通过一些方式实现多行语句的书写,这样可以方便我们对大段代码进行格式的整理和调整。以下是多种实现多行语句书写的方法。 1. 使用反斜杠\连接 在Python中,\符号可以用来将一行代码连接到下一行,实现多行代码书写。这种方式比较直观,可以方便地查看每一行代码的具体内容。 示例代码: print("hello \ world \…

    python-answer 2023年3月25日
    00
  • python采用requests库模拟登录和抓取数据的简单示例

    下面我来讲解一下“Python采用requests库模拟登录和抓取数据的简单示例”: 1. 简介 requests库是一个Python第三方库,用于处理http请求,是Python开发中用的最为广泛的第三方库之一。我们可以利用requests模拟登录网站并抓取网站数据。 2. 环境准备 在使用requests模拟登录之前,需要安装requests库,安装命令…

    python 2023年5月14日
    00
  • python中os.path.join()函数实例用法

    下面是关于“python中os.path.join()函数实例用法”的详细攻略: 1. 什么是os.path.join()函数? 在Python中,os.path.join()是用来组合路径的函数,你可以使用它来构造跨操作系统的文件路径。这个函数会根据当前的操作系统来调整路径分隔符。 当你在Windows中使用/作为分隔符时,在Linux中使用\作为分隔符时…

    python 2023年5月14日
    00
  • python中(str,list,tuple)基础知识汇总

    Python中(str,list,tuple)基础知识汇总 在Python编程中,字符串(str)、列表(list)和元组(tuple)是三种常用的数据类型。它们都是序列类型,可以存储多个元素,并支持索引、切片等操作。下面将详细介绍Python中(str,list,tuple)基础知识汇总,包括语法、参数、返回值以及示例说明。 字符串(str) 字符串的创建…

    python 2023年5月13日
    00
  • 举例详解Python中threading模块的几个常用方法

    下面是详细讲解Python中threading模块的几个常用方法的攻略。 一、什么是Python threading模块 Python中的线程模块是Python中实现线程的标准模块之一,它可以用来创建、管理线程以及线程的同步操作。它提供了 Thread、Lock、Event、Condition、Semaphore 和 Timer 等基本组件。 在Python…

    python 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部