搁架在关闭之前不会同步到磁盘

  • 本文关键字:同步 磁盘 python shelve
  • 更新时间 :
  • 英文 :


将python的版本从3.5更改为3.7后,shelve在调用sync方法时不再写入磁盘。但是,当我使用 python 3.5 时,它确实如此。

我还注意到在python 3.7上,"db"扩展名被附加到搁置数据库文件中。

有没有人知道这样做的原因,是否有任何解决方法?

事实证明,我缺少python3.7-gdbm软件包(这是一个Ubuntu Xenial服务器(。

它可以通过apt-get安装:

sudo apt-get install python3.7-gdbm

安装 gdbm 软件包后,python 将开始将搁架存储为 GNU dbm 而不是 Berkeley DB:

$ file *
shelve_obj_berkley:            Berkeley DB (Hash, version 9, native byte-order)
shelve_obj_gdbm:               GNU dbm 1.x or ndbm database, little endian, old

最新更新