Zope文件夹操作
文件夹操作包括检查子对象的操作,还有剪切、拷贝、粘贴等:
- hasObject
检查文件夹中是否存在某个对象:
folder.hasObject(id) - objectIds
返回文件夹中的对象id字符串的列表,可以指定某些类型则只返回该类型:
folder.objectIds() - objectValues
返回文件夹中对象的列表,可以指定某些类型则只返回该类型:
folder.objectValues() - manage_delObjects
删除文件夹中的一些对象,参数是所要删除的id字符串列表:
folder.manage_delObjects(['id']) - _setObject
因为以下划线开头的函数是不会发布的,这个常用在文件系统上的开发中,用于给文件夹中添加对象:
folder._setObject('id', someObject) - manage_renameObject
修改文件夹中的子对象的id:
folder.renameObject(id, new_id) - manage_renameObjects
这个函数接受两个id的列表作为参数以同时对多个子对象进行改名:
folder.renameObjects([id], [new_id]) - manage_copyObjects
复制文件夹中的一组对象:
cb_copy_data = folder.manage_copyObjects(['my_document']) - manage_cutObjects
剪切文件夹中的一组对象:
cb_copy_data = folder.manage_cutObjects(['my_document']) - manage_pasteObjects
剪贴一组对象,它使用manage_copyObjects或manage_cutObjects的返回值作为参数:
another_folder.manage_pasteObjects(cb_copy_data) - objectItems
返回文件夹中对象的(id, value)形式的元组的列表。
现在介绍一个剪切、复制和粘贴的实例。下面的脚本,其功能是把刚才创建的my_document文档复制到新文件夹my_folder里:
1 | from Products.CMFCore.utils import getToolByName |
Zope文件夹操作
