gpt4 book ai didi

python - 使用不包括根文件夹的 portal_catalog 在文件夹内执行搜索

转载 作者:太空宇宙 更新时间:2023-11-03 15:22:44 25 4
gpt4 key购买 nike

我正在文件夹内执行搜索。不幸的是,它还会检索根文件夹,我不希望这样。

例子如下。如果我有一个类似于下面的目录结构:

RootFolder
... SubFolder1
... SubFolder2

当我在 RootFolder 目录中搜索时,我希望得到以下内容:

SubFolder1
SubFolder2

但是,这就是我得到的:

RootFolder
SubFolder1
SubFolder2

我不想显示根目录。下面是我用来获取/搜索文件夹中项目的代码:

def queryItemRepository(self):
"""
Perform a search
"""

query = {}

portal_catalog = getToolByName(self, 'portal_catalog')
folder_path = '/'.join( self.context.getPhysicalPath() )

query['path'] = {'query' : folder_path, 'depth' : 2 }
query['sort_on'] = "sortable_title"
query['sort_order'] = "ascending"

return portal_catalog.searchResults(query)

最佳答案

路径搜索中的depth参数限制了搜索的深度,它没有设置最低级别。因此,在您的搜索中,将返回所有从 folder_path 开始直至并包括 2 个子级嵌套级别的路径。

只过滤掉根路径;你已经有了上下文,所以你可以只比较每个项目的 URL:

for match in portal_catalog.searchResults(query):
if match.getPath() == folder_path:
continue
yield match

关于python - 使用不包括根文件夹的 portal_catalog 在文件夹内执行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12454459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com