- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
什么时候应该使用 PersistentDict,什么时候应该使用 Folder?它们在更新、内部结构、性能等方面有什么区别?
最佳答案
PersistentMapping
只是 python dict
类型的一个实现(通过标准库 UserDict
基类)针对ZODB;每次更改 mapping
时,它都不必在最近的继承自 Persistent
的类上设置 _p_changed
标志。
Folder
是一种更丰富的类型,实现事件,与 Zope 网络界面 (ZMI) 集成,通过网络任意属性(具有类型验证的属性),Zope 权限管理,验证子项 ID、导入/导出等。子项文件夹作为属性存储在对象本身上,一些元数据存储在实例的私有(private)字典中。
当您需要任何这些额外服务(权限委托(delegate)、ID 验证等)时使用Folder
,否则使用PersistentMapping
。在性能方面查找或存储项目不会有太大差异;一个是下面的直接 python dict
,另一个是存储项目的实例 __dict__
。
如果您正在寻求避免冲突,您应该查看 BTrees ,OOBTree
类基本上是一个持久映射,其中值存储在持久存储桶中,在大多数情况下避免冲突,并为其余情况提供冲突解决方案。
如果您想要Folder
语义和BTree
存储语义,请查看Products.BTreeFolder2 ,以及实现 Folder
接口(interface)但将子对象存储在 OOBTree
中而不是直接在实例上作为属性的附加组件。
关于python - 什么时候是 PersistentDict,什么时候是 Folder?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9502453/
当我在 ./blah/中创建 index.js 时使用 webpack,然后执行 import blah from './blah' 它成功地从 index.js 获取 但是,我的代码编辑器现在充满了
我正在尝试使用 Webpack 4 将图像文件夹从 src 文件夹导入(移动)到 dist 文件夹,但与 Gulp 不同,这个任务在 Webpack 中看起来非常复杂,即使我什至没有尝试搞乱目前,我只
这个问题已经有答案了: Update : Move files from one folder to another based on file extension (3 个回答) 已关闭 4 年前。
我有一个文件夹路径存储在属性 nightly.basepath 中(这里的值是 /path/to/my/nightly ): /path/to/my/nightly |- build_201003
这是我的代码。非常简单,除了当它创建实际文件夹时文件夹名称而不是文件夹名称,即“Test-Folder”它创建“@{Folder=Test-folder}/” $Folders = Import-Cs
我想复制一个包含多个文件夹的文件夹,并且该文件夹包含多个文件。如果此文件夹存在,我想将它们保留在里面,并覆盖这些文件(如果存在)。如果文件不存在,则会自然添加它们。 _ = try FileManag
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我想弄清楚 IMAP 的 search (带参数: "unseen all" )命令是通过搜索邮箱中的所有文件夹还是仅搜索当前选定的文件夹来工作? IE。选择时INBOX并发出 search命令,它没
我正在尝试将我的网站重定向到 www.domain.tld/folder/ 来自 www.domain.tld/folder/index.php?params=blah¶m2=etc 我已经尝
我正在尝试让我的网站重定向到 www.domain.tld/folder/ 来自 www.domain.tld/folder/index.php?params=blah¶m2=etc 我试过:
在 Eclipse IDE 中创建新的 Java(不是 JavaEE)项目时,我看到一个选项,上面写着Allow output folders for source folders。 那是干什么用的?
我已经关注 Jenkins extending pipeline with shared libraries 有人提到 The src directory should look like stand
我在 Visual Basic 2010 中遇到一个问题:如何将所有子文件夹(仅子文件夹,而不是主文件夹)复制到另一个文件夹中? 谢谢您的帮助! 最佳答案 您需要递归遍历所有文件和文件夹并复制它们。这
我正在尝试使用 groovy 脚本从 jenkins 收集数据并收到错误: unable to resolve class com.cloudbees.hudson.plugins.folder.Fo
我使用Intellij IDEA开发一个web项目,项目中有一些源码文件夹。 我想将不同源文件夹中的代码编译到不同的编译文件夹。 我知道在myeclipse中有一个功能“allow output fo
我有 com.company.database.mysql 和 com.company.database.sqlite。我只想包含 com.company.database.mysql。 我的代码组织
我正在 Tomcat 服务器上使用 eclipse 开发一个小 servlet。 我想从这个 servlet 中包含一些 jsp 文件,它非常适合该文件 WEB-INF/website/NewFile
假设我有一个目录,里面有一堆网站名称。 即 dev.domain.com dev.domain2.com dev.domain3.com 如何将它们重命名为 .com在使用管道和/或重定向 bash
我刚刚在 redis install_server 中遇到了一个错误 script它有一个硬编码: DEFAULT_CONFIG="../redis.conf" 所以当这个脚本不是从它自己的文件夹运行
我有一个非常简单的 WAR 项目,我想在所有已编译 Java 类所在的类输出文件夹的顶部包含一个名为 META-INF 的目录。我正在使用 Maven,但似乎默认情况下 Maven 不会包含任何不是
我是一名优秀的程序员,十分优秀!