Python实战:打造高效通讯录管理系统
📋 编程基础第一期《8-30》–通讯录管理系统
📑 项目介绍
在信息化时代,高效管理个人或团队联系人信息变得尤为重要。本文将带您实现一个基于Python的通讯录管理系统,该系统采用字典数据结构和JSON文件存储,实现了联系人的增删改查等核心功能。这个项目非常适合Python初学者巩固基础知识,同时也是一个实用的小工具。
🌟 功能特点
- 添加联系人:录入姓名、电话、邮箱、地址等信息
- 删除联系人:根据姓名查找并删除指定联系人
- 修改联系人:更新已有联系人的信息
- 查询联系人:根据姓名精确查找联系人
- 显示所有联系人:以列表形式展示所有联系人
- 数据持久化:自动保存到JSON文件,程序重启后数据不丢失
💻 完整代码实现
import json import os CONTACTS_FILE = "contacts.json" def load_contacts(): """加载通讯录数据""" if os.path.exists(CONTACTS_FILE): with open(CONTACTS_FILE, 'r') as f: return json.load(f) return [] def save_contacts(contacts): """保存通讯录数据""" with open(CONTACTS_FILE, 'w') as f: json.dump(contacts, f, indent=4) def input_contact_info(): """输入联系人信息""" return { "name": input("请输入姓名:").strip(), "phone": input("请输入电话:").strip(), "email": input("请输入邮箱:").strip(), "address": input("请输入地址:").strip() } def add_contact(contacts): """添加联系人""" new_contact = input_contact_info() contacts.append(new_contact) save_contacts(contacts) print("联系人添加成功!") def find_contacts_by_name(contacts, name): """根据姓名查找联系人""" return [(i, c) for i, c in enumerate(contacts) if c["name"].lower() == name.lower()] def delete_contact(contacts): """删除联系人""" name = input("请输入要删除的联系人姓名:").strip() matches = find_contacts_by_name(contacts, name) if not matches: print("未找到相关联系人。") return print("找到以下联系人:") for idx, (i, c) in enumerate(matches): print(f"{idx + 1}. {c['name']} | {c['phone']} | {c['email']}") try: choice = int(input("请选择要删除的序号(0取消):")) if 1
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。