1. 系统简介
近年来,互联网技术快速发展,软件开发行业得到了广泛的关注和发展。而在软件开发行业中,Python作为一门快速上手的编程语言,备受开发者青睐。在这样的背景下,本文将介绍利用Python开发的一款名片管理系统。
1.1 名片管理系统的作用
作为一款信息管理软件,名片管理系统主要用于管理一个人或者一个公司的名片信息,方便用户在需要的时候快速找到所需信息。名片管理系统可以帮助用户快速地浏览、查找、更新、删除和添加名片信息。这样可以有效地提高用户的工作效率和信息处理能力。
1.2 名片管理系统的功能
名片管理系统的主要功能包括以下几个方面:
添加名片信息:用户可以通过系统添加名片信息来使其保存在系统中。
浏览名片信息:用户可以通过名片管理系统来快速浏览自己保存的所有名片信息。
修改名片信息:用户可以通过名片管理系统来修改已保存的名片信息。
删除名片信息:用户可以通过名片管理系统来删除已保存的名片信息。
查找名片信息:用户可以通过名片管理系统来查找已保存的名片信息。
2. 系统设计
本系统采用Python作为开发语言,主要涉及Python基础语法、文件读写、函数封装、错误处理、判断语句和循环语句等方面。其中,系统的结构如下图所示:
# 系统结构图
+-----------------+
| 名片管理系统 |
+-----------------+
| 添加名片信息 |
| 浏览名片信息 |
| 修改名片信息 |
| 删除名片信息 |
| 查找名片信息 |
+-----------------+
2.1 数据存储
本系统中,名片信息会被保存在一个文本文件中。文本文件的读写可以使用Python自带的文件操作函数完成,这些函数包括open()、read()和write()等。为了简化开发过程,我们使用CSV格式文件存储数据,CSV文件以逗号分隔数据,每行数据代表一张名片信息。例如:
姓名,手机,座机,公司,职位
张三,13888888888,010-88888888,ABC公司,经理
李四,13999999999,010-99999999,DEF公司,销售
2.2 模块设计
本系统由多个模块组成,主要包括数据存储模块、信息显示模块、信息修改模块、信息查找模块和信息删除模块等。
数据存储模块:利用CSV格式文件来保存用户的名片信息。
信息显示模块:将名片信息从文件中读取出来并显示在屏幕上。
信息修改模块:允许用户修改已保存的名片信息。
信息查找模块:允许用户根据关键字查找名片信息。
信息删除模块:允许用户删除已保存的名片信息。
3. 系统实现
接下来,我们将针对各个模块进行详细的实现过程说明。
3.1 数据存储模块
数据存储模块主要实现名片信息的读写操作。在Python中,我们可以通过CSV模块很方便地读写CSV格式文件。以下是代码实现:
# 数据存储模块
import csv
# 定义文件名
file_name = 'info.csv'
# 写入名片信息到CSV文件中
def write_info_to_file(info):
with open(file_name, 'a', newline='') as f:
writer = csv.writer(f)
writer.writerow(info)
# 从CSV文件中读取名片信息
def read_info_from_file():
info_list = []
with open(file_name, 'r', newline='') as f:
reader = csv.reader(f)
for row in reader:
info_list.append(row)
return info_list
在上述代码中,我们使用了write_info_to_file()函数向CSV文件中添加名片信息,使用read_info_from_file()函数从CSV文件中读取名片信息。其中,参数newline=''用于避免在Windows系统中出现多余的空行。
3.2 信息显示模块
信息显示模块主要实现名片信息从文件中读取并显示在屏幕上。以下是代码实现:
# 信息显示模块
def show_all_info():
info_list = read_info_from_file()
for i, info in enumerate(info_list):
print(f'编号:{i}\n姓名:{info[0]}\n手机:{info[1]}\n座机:{info[2]}\n公司:{info[3]}\n职位:{info[4]}\n{"*" * 20}')
在上述代码中,我们使用了show_all_info()函数读取CSV文件中的名片信息,并打印在屏幕上。其中,字符串'*' * 20用于美化输出效果。
3.3 信息修改模块
信息修改模块主要实现用户对已保存的名片信息进行修改操作。以下是代码实现:
# 信息修改模块
def modify_info(index):
info_list = read_info_from_file()
info = info_list[index]
print(f'当前名片信息为:\n姓名:{info[0]}\n手机:{info[1]}\n座机:{info[2]}\n公司:{info[3]}\n职位:{info[4]}')
print('*' * 20)
print('请选择要修改的信息编号:')
print('1. 姓名')
print('2. 手机')
print('3. 座机')
print('4. 公司')
print('5. 职位')
print('6. 取消')
# 获取用户选择
choice = input('请选择(1-6):')
# 根据用户选择进行修改操作
if choice == '1':
new_name = input('请输入新的姓名:')
info[0] = new_name
elif choice == '2':
new_mobile = input('请输入新的手机:')
info[1] = new_mobile
elif choice == '3':
new_tel = input('请输入新的座机:')
info[2] = new_tel
elif choice == '4':
new_company = input('请输入新的公司:')
info[3] = new_company
elif choice == '5':
new_job_title = input('请输入新的职位:')
info[4] = new_job_title
else:
return
with open(file_name, 'w', newline='') as f:
writer = csv.writer(f)
writer.writerows(info_list)
print('修改成功!')
在上述代码中,我们使用modify_info()函数让用户选择要修改的名片信息,并进行修改。
3.4 信息查找模块
信息查找模块主要实现用户根据关键字查找名片信息。以下是代码实现:
# 信息查找模块
def search_info_by_keyword(keyword):
info_list = read_info_from_file()
for i, info in enumerate(info_list):
if keyword in info:
print(f'编号:{i}\n姓名:{info[0]}\n手机:{info[1]}\n座机:{info[2]}\n公司:{info[3]}\n职位:{info[4]}\n{"*" * 20}')
在上述代码中,我们使用search_info_by_keyword()函数让用户输入关键字,并根据关键字查找名片信息并显示在屏幕上。
3.5 信息删除模块
信息删除模块主要实现用户删除已保存的名片信息。以下是代码实现:
# 信息删除模块
def delete_info(index):
info_list = read_info_from_file()
del info_list[index]
with open(file_name, 'w', newline='') as f:
writer = csv.writer(f)
writer.writerows(info_list)
print('删除成功!')
在上述代码中,我们使用delete_info()函数让用户选择要删除的名片信息,并进行删除。
4. 系统测试
为了测试我们的名片管理系统是否能够正常运行,我们可以选择添加、浏览、修改、删除和查找名片信息等操作,并查看相应结果是否正确。
4.1 添加名片信息测试
我们先使用以下代码向CSV文件中添加一张名片信息:
info = ['张三', '13888888888', '010-88888888', 'ABC公司', '经理']
write_info_to_file(info)
上述代码执行后,我们可以在CSV文件中看到新添加的名片信息。
4.2 浏览名片信息测试
我们使用以下代码来浏览名片信息:
show_all_info()
上述代码执行后,我们可以在屏幕上看到所有的名片信息。
4.3 修改名片信息测试
我们使用以下代码来修改第一条名片信息中的座机号码:
modify_info(0)
上述代码执行后,我们可以在CSV文件中看到修改后的名片信息。
4.4 删除名片信息测试
我们使用以下代码来删除第一条名片信息:
delete_info(0)
上述代码执行后,我们可以在CSV文件中看到删除成功后的名片信息。
4.5 查找名片信息测试
我们使用以下代码来查找名字含有“张”的名片信息:
search_info_by_keyword('张')
上述代码执行后,我们可以在屏幕上看到所有名字含有“张”的名片信息。
5. 总结
本文主要介绍了一款基于Python语言开发的名片管理系统。该系统可以实现添加、浏览、修改、删除和查找名片信息等功能。该系统的开发过程不仅涉及到Python的基本语法,还涉及到文件操作、函数封装、错误处理等多个方面。通过本系统的开发以及测试,我们可以深刻领会到Python语言的简单易用以及在信息管理方面的广泛应用。