python 如何利用everything的能力快速搜索兴趣文档

演示代码

# -*- coding:UTF-8 -*-
"""
@author: dyy
@contact: [email protected]
@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 = 0

while True:
    关键字 = 交互接口类.发起文本交互(
        输入提示=f'请输入文档关键字,以{"开始" if 搜索次数 < 1 else "继续"}搜索(0:退出程序):',
        画板=看板.副本)
    if '0' == 关键字:
        # 用户要求退出程序
        exit(0)
    搜索结果 = everything搜索.搜索(搜索关键字=关键字,
                                   搜文档=True,
                                   限定数量=25,
                                   画板=看板.副本)
    搜索次数 += 1
    if 搜索结果 and 搜索结果.总数 > 0:
        看板.准备表格()
        看板.添加分隔行(提示文本=f'搜索到的内容如下(共 {绿字(搜索结果.总数)} 条):', 修饰方法=黄字, 适应窗口=True)
        看板.添加多行(搜索结果.结果列表, 拆分列数=1)
        看板.添加分隔行(修饰方法=黄字, 适应窗口=True)
        看板.展示表格()
    else:
        看板.消息(红字(f'不存在包含关键字 [{绿字(关键字)}] 的文档'))

    # 打印两个空行以做分割
    看板.打印空行(2)

以上代码中,我们首先定义了一个everything搜索接口类对象,该搜索接口类将访问指定的everything http服务地址和端口,为我们提供文档搜索能力。

关于如何开通everything http服务,请参考:everything开通http服务

以上代码运行效果如下
python 如何利用everything的能力快速搜索兴趣文档_第1张图片

异常处理

当我们在与用户交互时,如果用户输入了字符 0,则我们程序会退出以响应用户的输入,如下
python 如何利用everything的能力快速搜索兴趣文档_第2张图片

当我们在与用户交互时,如果用户输入的关键字,不存在任一个文档包含该关键字时,程序会提示用户这一结果,如下
python 如何利用everything的能力快速搜索兴趣文档_第3张图片

小结

以上就是今天带来的借助everything搜索能力在python中快速搜索文档的演示了,欢迎讨论。

你可能感兴趣的:(DebugInfo,python,python,everything,开发语言)