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

问题引入
在我们熟悉的操作中,【另存为】操作往往需要用户一层一层的浏览寻找路径,直到用户找到满意的路径并最终选择确认,这种千年不变操作方式,效率相当低下。
可能的解决方案
想必大家都不陌生everything,everything提供了强大的文档/路径搜索能力,如何我们在另存为时,可以借助everything的力量,那操作效率岂不美哉?
导入包
本次我们即将演示的代码,使用了 DebugInfo python包,我们需要导入 DebugInfo 包
pip install DebugInfo
代码演示
👇以下代码演示了如何通过 DebugInfo 包中提供的功能,借助everything,引导用户指定/选择路径:
# -*- 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://www.jb51.net/softjc/866497.html
以上👆脚本基本于everything提供的搜索能力,通过【交互接口类】中的类方法【指定选择路径】向用户发起交互请求,引导用户输入或者选择兴趣的路径。
效果演示
就以上代码,👇下图展示了其运行效果:

- 上图第一次交互,输入了 0,以示退出程序。程序正常响应
- 上图第二次交互,输入了tmpf,程序借助everything提供的搜索服务列出了匹配的路径供用户选择,用户通过输入代号 2 选择了第二个路径,程序反馈了用户的选择
通过以上三次交互,我们可以发现借助 everything 的搜索能力,可以大大提高用户指定/选择路径的效率。用户不需要记忆路径的中间过程,只根据只言片语,即可准确定位目标路径,完成交互过程。
相关文章
Python标准库之随机数 (math包、random包)介绍
这篇文章主要介绍了Python标准库之随机数 (math包、random包)介绍,本文讲解了math包的常用函数,同时给出了random包的使用例子,需要的朋友可以参考下2014-11-11
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
这篇文章主要介绍了Python二叉树的遍历操作,结合实例形式分析了Python针对二叉树的前序遍历,中序遍历,后序遍历,层序遍历等相关操作实现技巧,需要的朋友可以参考下2018-12-12
Python matplotlib绘图时指定图像大小及放大图像详解
Matplotlib是一个面向对象的绘图库,我们绘制的图像中,每条曲线,每个边框等等都对应一个对象,下面这篇文章主要给大家介绍了关于Python matplotlib绘图时指定图像大小及放大图像的相关资料,需要的朋友可以参考下2022-05-05


最新评论