Python编程:实现简单数据管理,持久化存储数字

在本文中,我们将探讨如何使用Python实现一个简单的数据管理系统,该系统能够持久化存储数字。我们将创建一个交互式命令行程序,允许用户添加、删除和查看数字,同时确保数据在程序关闭后仍然保存。

功能概述

我们的数据管理系统将实现以下功能:

1. 持续添加数字
2. 删除第一个数字
3. 查看所有数字
4. 退出系统
5. 数据的持久化存储

代码实现

让我们逐步解析实现这个系统的代码:

1. 导入必要的模块和初始化

import json
import os
items = []
FILE_PATH = "./items.json"

我们使用 ' json ' 模块进行数据的序列化和反序列化, ' os ' 模块用于检查文件是否存在。' items ' 列表用于存储数字, ' FILE_PATH ' 定义了JSON文件的路径。

2. 显示主菜单和获取用户输入

def show_main_menu():
    main_menu = """输入1 可以持续添加数字
    输入2可以删除第一个数字
    输入3可以查看所有数字
    输入数字0,退出系统"""
    print(main_menu)
def get_user_select_main():
    while True:
        option = input("输入数字,选择对应的选项")
        if option not in [str(i) for i in range(4)]:
            print(f"输入不合法,请输入指定的数字")
        else:
            return option

这两个函数负责显示主菜单并获取用户的有效输入。

3. 实现核心功能

def show_all():
    if items:
        for item in items:
            print(f"发现数字:{item}")
    else:
        print(f"当前还没有数字")

def add_value():
    while True:
        value = int(input("请输入数字"))
        items.append(value)
        print(f"插入成功,现有数字:{len(items)} 个")
        save_data()
        sub_option = get_user_select_sub()
        if sub_option == "Y" or sub_option == "y":
            pass
        elif sub_option == "N" or sub_option == "n":
            break
def remove_first():
    if items:
        items.pop(0)
        print(f"删除成功,现有数字 :{len(items)} 个")
        save_data()
    else:
        print(f"还没有数字,不能删除")

这些函数实现了查看、添加和删除数字的功能。

4. 数据持久化

def save_data():
    with open(FILE_PATH, "w") as f:
        json.dump(items, f)
def load_data():
    if os.path.exists(FILE_PATH):
        with open(FILE_PATH, "r") as f:
            datas = json.load(f)
            for data in datas:
                items.append(data)

' save_data() ' 函数将数据保存到JSON文件,而 ' load_data() ' 函数在程序启动时从文件加载数据。

5. 主函数
 

def main():
    load_data()
    while True:
        show_main_menu()
        option = get_user_select_main()
        if option == "0":
            break
        elif option == "1":
            add_value()
        elif option == "2":
            remove_first()
        elif option == "3":
            show_all()


main()

主函数 ' main() ' 是程序的入口点。它首先加载已存储的数据,然后进入一个循环,不断显示主菜单并根据用户的选择执行相应的操作,直到用户选择退出。

代码解析

1. 数据结构:我们使用Python的列表( ' items ' )来存储数字。这种结构简单直观,适合本例中的数据管理需求。

2. 用户交互:程序通过循环和条件语句来实现与用户的交互。' get_user_select_main() ' 和 'get_user_select_sub() ' 函数确保了用户输入的有效性。

3. 功能模块化 :每个功能都被封装在独立的函数中,如 ' add_value() ' ,  ' remove_first() ' , ' show_all() ' 等,这提高了代码的可读性和可维护性。

4. 持久化存储:使用JSON格式存储数据。' save_data() ' 函数在每次数据变更后被调用,确保数据实时保存。' load_data() ' 函数在程序启动时加载之前保存的数据。

5. 错误处理:代码中包含了基本的错误处理,如检查用户输入的有效性,以及在删除操作前检查列表是否为空。

改进空间

1. 数据验证:可以添加更严格的数据验证,例如检查输入是否为有效的数字。

2. 异常处理:可以添加try-except块来处理可能出现的异常,如文件操作异常。

3. 性能优化:对于大量数据,可以考虑使用更高效的数据结构或数据库系统。

4. 用户界面:可以考虑添加图形用户界面(GUI)来提升用户体验。

5. 功能扩展:可以添加更多功能,如搜索特定数字、排序显示等。

结论

这个简单的数据管理系统展示了如何使用Python实现基本的数据存储和管理功能。通过使用JSON文件进行数据持久化,我们确保了数据可以在程序重启后保留。这个项目为更复杂的数据管理系统奠定了基础,可以根据需求进行进一步的扩展和优化。

通过实现这样的项目,我们不仅练习了Python编程,还学习了文件操作、用户输入处理、数据持久化等重要概念。这些技能在更大型的软件开发项目中都是非常有用的。

希望这个例子能够帮助你理解如何使用Python实现简单的数据管理系统。如果你有任何问题或想法,欢迎在评论中讨论!

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值