【问题标题】:Python Program with Save Feature具有保存功能的 Python 程序
【发布时间】:2015-06-02 00:22:22
【问题描述】:

我正在制作一个允许用户创建某个可修改列表的程序。目标是允许用户创建一个可以在以后加载和修改的计划。是否有可能以某种方式保存用户所做的事情,以便他们稍后打开程序并从中断的地方继续?

这类似于在文字处理器中制作文档、保存文档、关闭文字处理器、稍后返回并打开文档以继续修改它的方式。

我本质上想保存程序的当前会话或实例,在程序未运行时将所有变量等存储在一个文件中。然后可以在下次启动程序并在程序中选择并“打开”特定文件时访问它们。

这可能吗?如果有,怎么做?

【问题讨论】:

    标签: python save


    【解决方案1】:

    这称为数据库。
    我建议使用 SQlite,它是一个基于 SQL 的关系数据库系统。是一个非常简单且动态的系统,并且与编程语言 Python 具有很好的连接性。

    我建议先阅读 SQLite here,然后再阅读如何将 SQLite 数据库连接到 python here

    您可以创建表格来存储您的信息,然后创建适当的 UI,您可以让用户能够再次将他们的数据加载到程序中。

    示例
    我实际上并没有理解您的程序想法,但 Iets 认为是一个让用户能够创建约会的应用程序的简单示例。

    用户可以设置约会的时间、日期和地点以及一些简短的描述。

    如您所见,我们可以在数据库中使用字段(列)进行表预约:
    id , date, time, place and description

    Appointment table
    ----------------------------------------------------
    Id   | Date        | Time   | Place   | Description |
    1    | 02/6/15   | 20:00  | A place| desc1          |
    2    | 03/6/15   | 15:00  | B place| desc2          |
    ----------------------------------------------------
    

    所以现在你可以使用查询:

    SELECT * FROM Appointment;
    

    这将为您返回上表中的两个数据元组,因此您可以在 UI 中随意表示您的数据。

    另一种选择是使用平面文件,但使用数据库会更容易、更动态且不会出错。

    【讨论】:

    • 反引号用于代码、命令等,而不是任何技术术语。 “平面文件”可以称为“平面文件”,格式就是这样——它们是英语行话,而不是代码。
    【解决方案2】:

    我认为数据库在这里过于矫枉过正,因为它们经常如此。这个程序听起来像是要存储少数一种或两种类型的对象。您应该将 json 转储到平面文件;定义一个函数,该函数接受所有状态对象和一个文件对象,并将对象作为 json 写入文件,然后编写另一个从文件中解析对象的函数。巴姆,你完成了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-27
      • 2019-11-07
      • 2015-10-31
      • 2011-09-12
      • 1970-01-01
      • 1970-01-01
      • 2014-03-05
      • 1970-01-01
      相关资源
      最近更新 更多