SQLite 对这个目的有用吗?

Is SQLite useful for THIS purpose?

我在 Python 中编写了一个使用请求的多线程机器人。

我想同时读取输出并将其写入文件。你可以把它想象成一个无限循环。

通过研究我发现您可以为其他线程锁定和解锁文件。但它似乎不适用于 Windows,例如fcntl 模块。

所以我正在寻找替代方案。我从未创建过数据库,所以我想知道 SQLite 是否适合我的目的?我可以在不丢失数据的情况下同时读取和写入内容吗? :)

虽然问题可能有点模糊,但我还是尽量回答一下。

因为 SQLite 是一个 事务型数据库,它符合 ACID原则:

  1. 原子性
  2. 一致性
  3. 隔离
  4. 耐用性

我看不出它在您的用例中不起作用的原因。

您应该仔细阅读上述原则,因为有大量资源可供阅读,我不会在这里尝试重新制定定义,而是提供相应的 URL。

https://en.m.wikipedia.org/wiki/ACID https://www.sqlite.org/transactional.html