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文件夹操作