具有保存功能的 Python 程序

Posted

技术标签:

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

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

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

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

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

【问题讨论】:

【参考方案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 写入文件,然后编写另一个从文件中解析对象的函数。巴姆,你完成了。

【讨论】:

以上是关于具有保存功能的 Python 程序的主要内容,如果未能解决你的问题,请参考以下文章

创建 Python 按钮保存编辑的文件

Java Swing实现具有基本功能的记事本程序

Python购物清单文本应用,保存问题

使用 C++ 在我的应用程序的菜单栏中创建“保存当前设置”功能

在python3中保存具有当前日期的Excel文件

如何在具有自动保存功能的网站上设计 api 端点?