1

这样做有问题吗:

import time
import dumbdbm

db = dumbdbm.open('db.db', 'c')

# modify the persistent dict / "DB" here
db['foo'] = 'bar'
db.sync()        

while True:
    # doing other things, sometimes modifying the db + syncing with .sync()
    time.sleep(1)

并在睡眠期间用CTRL+中断程序,即不会正确关闭Cdumbdbm

dumbdbm.sync ()是否足以保证数据的安全性,还是.close()绝对强制性的?

4

1 回答 1

1

当文档说调用该方法同步磁盘上的目录和数据文件时,该文档暗示同步就足够了。

但是,我认为这里更好的方法是在退出之前关闭文件。如果您总是以 退出Ctrl-C,您可以通过为SIGINT(这是由 发送的信号Ctrl-C)注册一个信号处理程序来实现这一点。这个信号处理程序应该同步,关闭数据库,然后调用 exit()。

于 2016-10-25T00:57:56.053 回答