具有保存功能的 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 程序的主要内容,如果未能解决你的问题,请参考以下文章