在Python脚本中存储用户数据

2024-06-03 02:52:00 发布

您现在位置:Python中文网/ 问答频道 /正文

如果下次运行Python脚本时需要再次输入数据,那么存储用户输入的数据的首选/常用方法是什么?

例如,我的脚本根据用户输入的内容执行计算,然后当用户再次运行脚本时,它将获取上次运行的结果。

现在,我将数据写入一个文本文件并从中读取。我不认为我需要存储非常大的记录(我想不到100张)。

我的目标是Windows和Linux用户都有这个脚本,所以跨平台的解决方案是好的。我对使用文本文件的唯一担心是,我觉得它可能不是最好的和通常的方式。

所以我的问题是,如果你需要为你的脚本存储一些数据,你怎么做?


Tags: 数据方法用户脚本内容目标linuxwindows
3条回答

对于100行,纯文本可以使用标准的ConfigParsercsv模块。

假设您的数据结构很简单,那么文本提供了更多复杂格式排除的机会(例如grep、vi、记事本)。

对于少量的数据,Python's pickle module对于隐藏以后容易访问的数据非常有用——只需从内存中提取数据对象并写入用户主文件夹(对Linux等很好)中的(隐藏的)文件或应用程序数据(在Windows上)。

其中,正如@aaronnasterling所提到的,asqlite3 file-based database很小,很快,也很容易,难怪这么多流行的程序,比如Firefox和Pidgin,都使用它。

您可以使用slite数据库或CSV文件。它们都很容易使用,但它们都适合具有相同类型信息的行。

最好的选择可能是shelve模块

import shelve

shelf = shelve.open(filename)
shelf['key1'] = value1
shelf['key2'] = value2

shelf.close()
 # next run
shelf.open(filename)

value1 = shelf['key1']
#etc

相关问题 更多 >