命令行中引导用户指定选择路径

问题引入

在我们熟悉的操作中,【另存为】操作往往需要用户一层一层的浏览寻找路径,直到用户找到满意的路径并最终选择确认,这种千年不变操作方式,效率相当低下。

可能的解决方案

想必大家都不陌生everything,everything提供了强大的文档/路径搜索能力,如何我们在另存为时,可以借助everything的力量,那操作效率岂不美哉?

导入包

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

bash 复制代码
pip install DebugInfo

代码演示

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

python 复制代码
# -*- coding:UTF-8 -*-

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

# endregion

看板 = 打印模板()

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

路径选择 = 交互接口类.指定选择路径(输入提示='请指定目标文件夹(0: 退出程序):', 搜索接口=搜索接口, 画板=看板.副本)

if '0' == 路径选择:
   # 用户要求退出程序
   exit(0)
else:
   看板.消息(f'您选择的路径是: {绿字(路径选择)}')

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

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

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

效果演示

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

  • 上图第一次交互,输入了 0,以示退出程序。程序正常响应
  • 上图第二次交互,输入了tmpf,程序借助everything提供的搜索服务列出了匹配的路径供用户选择,用户通过输入代号 2 选择了第二个路径,程序反馈了用户的选择

通过以上三次交互,我们可以发现借助 everything 的搜索能力,可以大大提高用户指定/选择路径的效率。用户不需要记忆路径的中间过程,只根据只言片语,即可准确定位目标路径,完成交互过程。

小结

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

据只言片语,即可准确定位目标路径,完成交互过程。

小结

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

相关推荐
好家伙VCC19 分钟前
### WebRTC技术:实时通信的革新与实现####webRTC(Web Real-TimeComm
java·前端·python·webrtc
前端玖耀里1 小时前
如何使用python的boto库和SES发送电子邮件?
python
serve the people1 小时前
python环境搭建 (十二) pydantic和pydantic-settings类型验证与解析
java·网络·python
小天源1 小时前
Error 1053 Error 1067 服务“启动后立即停止” Java / Python 程序无法后台运行 windows nssm注册器下载与报错处理
开发语言·windows·python·nssm·error 1053·error 1067
喵手2 小时前
Python爬虫实战:HTTP缓存系统深度实战 — ETag、Last-Modified与requests-cache完全指南(附SQLite持久化存储)!
爬虫·python·爬虫实战·http缓存·etag·零基础python爬虫教学·requests-cache
喵手2 小时前
Python爬虫实战:容器化与定时调度实战 - Docker + Cron + 日志轮转 + 失败重试完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·容器化·零基础python爬虫教学·csv导出·定时调度
2601_949146532 小时前
Python语音通知接口接入教程:开发者快速集成AI语音API的脚本实现
人工智能·python·语音识别
寻梦csdn3 小时前
pycharm+miniconda兼容问题
ide·python·pycharm·conda
Java面试题总结4 小时前
基于 Java 的 PDF 文本水印实现方案(iText7 示例)
java·python·pdf
不懒不懒4 小时前
【决策树算法实战指南:从原理到Python实现】
python·决策树·id3·c4.5·catr