头图

背景

在python中,我们如果需要操作文档,则需要用户指定文档,那么,如何引导用户指定或者选择文档呢?

导入包

本次我们即将演示的代码,使用了 DebugInfo python包,我们需要导入 DebugInfo

pip install DebugInfo

代码演示

👇以下代码演示了如何通过 DebugInfo 包中提供的功能,引导用户指定/选择文档:

# -*- coding:UTF-8 -*-

# region 引入必要依赖
from DebugInfo.DebugInfo import *

# endregion

看板 = 打印模板()

# 定义一个搜索接口,以便在引用用户指定文档时,可以提供待选项,此处使用了everything的http服务来提供此功能
搜索接口 = 本地搜索接口类(everything地址='127.0.0.1', everything端口=59864)

文档选择 = 交互接口类.指定选择文档(输入提示='请选择要操作的文档(0: 退出程序):', 搜索接口=搜索接口, 多选=True,
                                  画板=看板.副本)

if '0' in 文档选择:
   # 用户要求退出程序
   exit(0)
else:
   if len(文档选择) == 1:
       看板.消息(f'您选择的文档是: {绿字(文档选择[0])}')
   else:
       看板.消息('您选择的文档如下:')
       看板.准备表格().添加多行(行列表=文档选择, 拆分列数=1, 修饰方法=绿字).展示表格()

在以上👆的代码中我们首先定义了一个搜索功能的接口,这个接口提供基于everything http服务的搜索功能。我们需要指定我们本地上everything的http服务地址和端口。

关于配置everything http服务的方法,可以参考文档:https://ynrx7b5i1u.feishu.cn/docx/CKO8d2NlTo62yVxkUKmcMSWBnDf... 中的介绍

以上👆脚本基本于everything提供的搜索能力,通过【交互接口类】中的类方法【指定选择文档】向用户发起交互请求,引导用户输入或者选择兴趣的文档。

效果演示

就以上代码,👇下图展示了其运行效果:
20231115150034

  • 上图第一次交互,输入了 0,以示退出程序。程序正常响应
  • 上图第二次交互,输入了gpx.html,程序借助everything提供的搜索服务列出了匹配的文档供用户选择,用户通过输入代号 1 选择了第一个文档,程序反馈了用户的选择
  • 上图第三次交互,输入了gpx.html,程序借助everything提供的搜索服务列出了匹配的文档供用户选择,用户通过输入代号 1 3,同时选择了第一个和第三个文档,程序反馈了用户的选择

通过以上三次交互,我们可以发现借助 everything 的搜索能力,可以大大提高用户指定/选择文档的效率。

小结

好了,这就是今天给大家分享的内容了,欢迎留言讨论。


三块钱
7 声望0 粉丝