演示代码
# -*- coding:UTF-8 -*-
"""
@author: dyy
@contact: douyaoyuan@126.com
@time: 2023/11/23 17:10
@file: python 如何通过everything搜索兴趣文档.py
@desc: xxxxxx
"""# region 引入必要的依赖
import os模块名 = 'DebugInfo'
try:from DebugInfo.DebugInfo import *
except ImportError as impErr:print(f"尝试导入 {模块名} 依赖时检测到异常:{impErr}")print(f"尝试安装 {模块名} 模块:")try:os.system(f"pip install {模块名}")except OSError as osErr:print(f"尝试安装模块 {模块名} 时检测到异常:{osErr}")exit(0)else:try:from DebugInfo.DebugInfo import *except ImportError as impErr:print(f"再次尝试导入 {模块名} 依赖时检测到异常:{impErr}")exit(0)# endregion看板 = 打印模板(False)# 定义一个everything搜索接口对象
everything搜索 = everything搜索接口类(地址='127.0.0.1', 端口=23)
搜索次数: int = 0while True:关键字 = 交互接口类.发起文本交互(输入提示=f'请输入文档关键字,以{"开始" if 搜索次数 < 1 else "继续"}搜索(0:退出程序):',画板=看板.副本)if '0' == 关键字:# 用户要求退出程序exit(0)搜索结果 = everything搜索.搜索(搜索关键字=关键字,搜文档=True,限定数量=25,画板=看板.副本)搜索次数 += 1if 搜索结果 and 搜索结果.总数 > 0:看板.准备表格()看板.添加分隔行(提示文本=f'搜索到的内容如下(共 {绿字(搜索结果.总数)} 条):', 修饰方法=黄字, 适应窗口=True)看板.添加多行(搜索结果.结果列表, 拆分列数=1)看板.添加分隔行(修饰方法=黄字, 适应窗口=True)看板.展示表格()else:看板.消息(红字(f'不存在包含关键字 [{绿字(关键字)}] 的文档'))# 打印两个空行以做分割看板.打印空行(2)
以上👆代码中,我们首先定义了一个everything搜索接口类对象,该搜索接口类将访问指定的everything http服务地址和端口,为我们提供文档搜索能力。
关于如何开通everything http服务,请参考:everything开通http服务
以上👆代码运行效果如下👇
异常处理
当我们在与用户交互时,如果用户输入了字符 0,则我们程序会退出以响应用户的输入,如下👇
当我们在与用户交互时,如果用户输入的关键字,不存在任一个文档包含该关键字时,程序会提示用户这一结果,如下👇
小结
以上就是今天带来的借助everything搜索能力在python中快速搜索文档的演示了,欢迎讨论。