为什么Python搁置要求所有键都是字符串?

有据可查的是,Python的扩展模块要求所有键都必须是字符串,并且有多种解决方法(请参见线程herehere).我的问题是,为什么搁置需要字符串键?鉴于我可以腌制一个使用其他对象作为键的字典,而搁置在内部使用腌菜,为什么不能搁置处理这些键本身呢?字符串键使只更新一个持久对象而不是重写整个对象变得非常简单吗(如果这样,为什么)?

解决方法:

因为在底层,搁架模块使用bsddb,gdbm或dbm中的一种进行存储,并且它们仅支持字符串键.

没错,您可以腌制一个将其他对象用作键的字典,但是当一个键更改时,您必须刷新整个存储.通过使用类似的键值数据库,仅刷新更改的值.

上一篇:python学习第10天笔记


下一篇:我们应该在python shelve中存储会话权限还是会话变量?