命令行中引导用户指定选择文档

背景

在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?from=from_copylink 中的介绍

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

效果演示

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

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

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

小结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/153294.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

接口返回的二进制音频数据转url

const data await textToVoice({tts1: { input: "你好吗", speed: "1.0" }, });//data 接口返回的二进制音频数据 const blobData new Blob([data], { type: "audio/mpeg" }); const url window.URL.createObjectURL(blobData); // url >…

Flex布局---看一篇就够了

1. flex布局是什么? flex是flexible Box的缩写,用来为盒装模型提供的最大的灵活性,任何一个容器都可以指定为flex布局。Flex布局称为flex容器,所有的子元素为容器成员Flex项目(flex item); 当为…

城市生命线丨城市燃气管网监测系统功能效果

11月6日,福建泉州某小区发生煤气闪爆导致1死三伤,这起事故再次为我们敲响了城市燃气管网安全监测的警钟。在城市生命线的建设中,城市燃气管网监测系统以其独特的作用和价值,成为保障城市安全的重要一环。 根据应急管理部《全国城镇…

zookeeper的安装部署

目录 简介 Zookeeper架构设计及原理 1.Zookeeper定义 2.Zookeeper的特点 3.Zookeeper的基本架构 4.Zookeeper的工作原理 5.Zookeeper的数据模型 (1)临时节点 (2)顺序节点 (3)观察机制 Zookeeper集…

【知识增强】A Survey of Knowledge-Enhanced Pre-trained LM 论文笔记

A Survey of Knowledge-Enhanced Pre-trained Language Models Linmei Hu, Zeyi Liu, Ziwang Zhao, Lei Hou, Liqiang Nie, Senior Member, IEEE and Juanzi Li 2023年8月的一篇关于知识增强预训练模型的文献综述 论文思维导图 思维导图网页上看不清的话,可以存…

systemverilog:interface中端口方向理解

(1)从testbench的角度看,tb中信号的输入输出方向与interface中信号输入输出方向一致: (2)从DUT角度看,DUT中信号输入输出方向与interface中信号输入输出方向相反。简单图示如下: 代…

用哈希表封装unordered_map(以及set)【C++】

目录 一,前言 二,封装层框架(哈希底层以哈希桶为例) 三,迭代器 1. operator 2. operator[] 3. 仿函数优化 3. 解决unordered_set中Key可以修改的Bug 代码区 Hash_map_set.h HashTable.h 下节预告&#xff1…

Ganache结合内网穿透实现远程不同局域网公网访问

文章目录 前言1. 安装Ganache2. 安装cpolar3. 创建公网地址4. 公网访问连接5. 固定公网地址 正文开始前给大家推荐个网站,前些天发现了一个巨牛的 人工智能学习网站, 通俗易懂,风趣幽默,忍不住分享一下给大家。 点击跳转到网站…

3GPP协议解读(一)_23.501_23.502_PDU Session_SMF与UDP的交互

UE发起计算服务申请后,网络侧处理的流程 UE发起服务的流程:service request网络侧处理服务涉及的通信数据通过PDU Session进行传输,涉及到SMF与UPF的交互。PDU Session的建立、管理全部由SMF(Session Management Function&#x…

在混料配料输送系统中使用485modbus转profinet网关案例

485Modbus转Profinet网关是一种在工业自动化控制系统中常用的设备,能够实现不同通信协议之间的转换,对于混料配料输送系统的优化和控制具有重要作用。 通过使用485Modbus转Profinet网关,混料配料输送系统能够实现与不同设备之间的通信和数据交…

Android 框架

MVC: MVP MVVM Model 数据以及业务数据 View 视图 Control 控制器 simple code MVP OnFinishInflate ViewGroup 加载完成 MVC 优化 Struts MVC- MVP MVC-单次调用逻辑把 MVP / 把C拆分出来 MVVM 2017Google推出ViewModel DataBind MVVM是一种框架规则,双向绑定 Model…

电脑技巧:U盘装系统跟光盘装系统有什么区别,看完你就懂了!

目录 一、制作方法 二、优点比较 2.1 U盘 2.2 光盘 三、缺点比较 一、制作方法 U盘:是通过制作U盘系统盘,插在电脑上启动U盘,然后从U盘上启动PE系统,在PE系统里加载预先下载好的镜像,然后开始安装系统。 光盘&am…

使用git上传代码至gitee入门(1)

文章目录 一、gitee注册新建仓库 二、git的下载三、git的简单使用(push、pull)1、将本地文件推送至gitee初始化配置用户名及邮箱将本地文件提交至gitee补充 2、将远程仓库文件拉取至本地直接拉拉至其他本地文件夹 一、gitee 注册 官网:http…

Java中的Maven项目使依赖和自己写的代码的分开的部署的部署方式

文章目录 优点maven中配置执行maven 打包项目部署查看服务启动状态 优点 随着项目的功能越来越多,如果把所有代码都打包到一个jar里,这样不利于传输。把源码和依赖包分开。这样如果依赖包没有变化的话,再此部署时,就不需要往服务…

人脸106和240点位检测解决方案

人脸识别技术已经深入到我们生活的各个领域,从手机解锁、门禁系统到视频娱乐化等,都离不开高精度的人脸关键点检测。美摄科技作为行业的领军企业,一直致力于提供最先进、最稳定的人脸识别技术,近日,我们推出了全新的10…

懒人福利:6款Sketch插件合集,提升设计效率爆款推荐!

Sketch作为一种在线设计工具,一直是许多设计师的最爱。它不仅能快速建立原型,还能提供丰富的插件,以满足不同的需求。 今天,我想和大家分享六款流行的Sketch插件供参考。这些插件都是精心挑选的,它们支持Windows、Mac…

【LeetCode刷题-滑动窗口】--1695.删除子数组的最大得分

1695.删除子数组的最大得分 注意:子数组为不同元素 方法:滑动窗口 使用变长滑动窗口寻找数组nums中的以每个下标作为结束下标的元素各不相同的最长子数组。用[start,end]表示滑动窗口,初始时startend0,将滑动窗口的右端点end向右…

开发者的第一台服务器 ECS云服务器低至99元:新老同享

“阿里云始终围绕‘稳定、安全、性能、成本、弹性’的目标不断创新,为客户创造业务价值。”10月31日,杭州云栖大会上,阿里云弹性计算计算产品线负责人张献涛表示,通过持续的产品和技术创新,阿里云发布了HPC优化实例等多…

行情分析——加密货币市场大盘走势(11.16)

大饼昨日突然回调诱多上涨到38000附近,现在又重新跌回到37500,现在仓位小的可以加仓入场,而已经有仓位的不要动即可。 空单策略:入场37500附近 止盈34000-32000 止损39000 以太今日可以入场空单2060附近即可 策略:入…

AWD比赛中的一些防护思路技巧

## 思路1: 1、改服务器密码 (1)linux:passwd (2)如果是root删除可登录用户:cat /etc/passwd | grep bash userdel -r 用户名 (3)mysql:update mysql.user set…