在最原始的通讯录的基础之上进行了改进
使用了text文本记录数据
之后打算再研究一下用tkinter怎么写出有界面的通讯录(还是用text文本记录数据),然后再考虑一下用pymysql数据库记录数据,单纯只是完成一下期末老师布置的作业····
上篇的通讯录Python 最简单的实例:手机通讯录
代码直接复制粘贴就可以使用了
import sys
import json
import os
class TelephoneBook:
def show_menu(self): # 用于界面展示
print("*" * 20)
print("欢迎使用[通讯录] V1.0")
print("1.添加联系人")
print("2.查看通讯录")
print("3.删除联系人")
print("4.修改联系人")
print("5.查找联系人")
print("6.退出")
print("*" * 20)
# 1-添加联系人
def add_info(self):
name_str = input("请输入姓名:")
phone_num = input("请输入手机号:")
mail_adr = input("请输入邮箱:")
adr_str = input("请输入地址:")
# 将数据封装到字典中
card_dict = {
"姓名": name_str, "手机号": phone_num,
"邮箱": mail_adr,"地址": adr_str}
f = open("通讯录.txt", mode='a+', encoding='utf-8')
# 将字典转换为str,然后再使用write()写入到通讯录的文本文件中
f.write(str(card_dict) + '\n')
f.close()
print(f"成功添加{
name_str}为联系人")
# 2-显示所有联系人信息
def show_info(self):
file = open("通讯录.txt", mode='r', encoding='utf-8')
# 如果通讯录.txt文件不为空时,执行下面代码
if len(file.read()) != 0:
# 保证每次从开始位置读取
file.seek(0, 0)
# 读取通讯录.txt文件中的内容
file_data = file.read()
# 对字符串进行分隔
split_info