Python 中的简单数据存储
-
22-08-2019 - |
题
我正在寻找一种简单的解决方案,使用 Python 将数据存储为平面文件,这样每一行都是可以轻松解析的数组的字符串表示形式。
我确信 python 有可以轻松完成此类任务的库,但到目前为止,我发现的所有方法似乎都很难让它工作,我确信有更好的方法。到目前为止我已经尝试过:
- array.toFile() 方法,但无法弄清楚如何让它与嵌套的字符串数组一起使用,它似乎适合整数数据。
- 列表和集合没有内置的 toFile 方法,因此我必须手动对其进行解析和编码。
- CSV 似乎是一个很好的方法,但这也需要手动解析它,并且不允许我简单地在末尾附加新行 - 因此任何新的 CSVWriter 调用都会覆盖文件现有数据。
我真的试图避免使用数据库(也许是 SQLite,但它似乎有点过大),因为我试图开发它,除了 Python 之外没有任何软件先决条件。
解决方案
文件必须是人类可读的吗?如果不, 搁置 真的很容易使用。
其他提示
我正在寻找一种简单的解决方案,使用 Python 将数据存储为平面文件,这样每一行都是可以轻松解析的数组的字符串表示形式。
数据只能由 Python 程序解析吗?如果没有,那么我会避免使用pickle等(shelve和marshal),因为它们是Python特定的。JSON 和 YAML 的重要优点是解析器可轻松用于大多数任何语言。
SourceForge 的这个解决方案仅使用标准 Python 模块:
y_serial.py 模块::使用 SQLite 仓库 Python 对象
“序列化+持久化::只需几行代码,即可将Python对象压缩并注释到SQLite中;然后稍后通过关键字按时间顺序检索它们,而不需要任何 SQL。对于数据库来说,用于存储无模式数据的最有用的“标准”模块。”
http://yserial.sourceforge.net
SQLite 一点也不“杀伤力大”——你会惊讶于它是多么简单;另外它还解决了更一般的数据持久性问题。
不隶属于 StackOverflow