演示代码
# -*- 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 = 0
while True:
关键字 = 交互接口类.发起文本交互(
输入提示=f'请输入文件夹关键字,以{"开始" if 搜索次数 < 1 else "继续"}搜索(0:退出程序):',
画板=看板.副本)
if '0' == 关键字:
# 用户要求退出程序
exit(0)
搜索结果 = everything搜索.搜索(搜索关键字=关键字,
搜文档=False,
搜路径=True,
限定数量=25,
画板=看板.副本)
搜索次数 += 1
if 搜索结果 and 搜索结果.总数 > 0:
看板.准备表格()
看板.添加分隔行(提示文本=f'搜索到的内容如下(共 {绿字(搜索结果.总数)} 条):', 修饰方法=黄字, 适应窗口=True)
看板.添加多行(搜索结果.结果列表, 拆分列数=1)
看板.添加分隔行(修饰方法=黄字, 适应窗口=True)
看板.展示表格()
else:
看板.消息(红字(f'不存在包含关键字 [{绿字(关键字)}] 的文件夹'))
# 打印两个空行以做分割
看板.打印空行()
以上👆代码中,我们首先定义了一个everything搜索接口类对象,该搜索接口类将访问指定的everything http服务地址和端口,为我们提供文档搜索能力。
关于如何开通everything http服务,请参考:everything开通http服务
以上👆代码运行效果如下👇
异常处理
当我们在与用户交互时,如果用户输入了字符 0,则我们程序会退出以响应用户的输入,如下👇
当我们在与用户交互时,如果用户输入的关键字,不存在任一个文档包含该关键字时,程序会提示用户这一结果,如下👇
小结
以上就是今天带来的借助everything搜索能力在python中快速搜索文档的演示了,欢迎讨论。