前置知识图形界面和命令行,谁更高效P

前面内容,介绍了百度AI应用程序的创建、百度账号的申请及百度AI接口调用,并在此基础上实现了一个智能点钞机的应用。

现在,我们开始新的一章。

#Python文字识别#本章节,将对制作OCR使用的gooey库进行详细介绍。在介绍gooey之前,需要了解下命令行参数解析的方法,通过使用Python内置库argparse实现命令行参数解析。然后,引入gooey库,详细介绍如何将一个命令行解析库转化为图形界面。

引子:图形界面和命令行到底谁更高效?

开始今天的内容之前,先来看一个Linux系统下的Shell命令

ls-ltrs*上面这个命令行的意思是:列出目前工作目录下所有名称是s开头的文件,将文件以相反次序显示(越新的排越后面)。

如果是图形界面下实现这样的功能,那么至少应该用鼠标这样操作:

点击相关图形按钮,显示文件详细信息

点击文件创建时间那一列,使其列表反向显示

找到搜索框,输入s*

图形界面下,需要三步实现,而Shell中我们只需一个命令即可。

哪个更加高效呢?如果不计算学习成本(学习Shell脚本花费的时间),那使用一条命令显示很高效。

上面只是展示了Linux系统下Shell命令,下面,我们来看下不同系统如何调用(打开)命令行界面。

不同系统的命令行工具

对于windows用户,按下+键,在弹出对话框中输入,可以进入这样的交互界面。比如,你想要查看当前windows系统中所有端口占用情况,可以使用下面的命令:

netstat-ano

cmd的打开方式

如果使用图形界面,可能获取到的信息就没这么详细了!

windows中,如果你想要更加高级的界面,在某个文件夹界面中按下,同时单击鼠标右键,同时按下键(或者点击“在PowerShell中打开”这个选项),即可打开PowerShell窗口,这是一个更加高级的命令行窗口,说它高级,是因为它是一个面向对象的命令行接口。

PowerShell打开方式

这里的linux系统指的是大部分linux系统(衍生版本太多了^-^):

Ctrl+Alt+t:打开一个新的终端

Shift+Ctrl+t:在已有终端上打开一个新的tab

Shift+Ctrl+n:在已有终端上打开另一个新的终端(不是tab)

这里就不再截图了,感兴趣的小伙伴自己实验下!

此处略去,详情参见系统手册^-^

对于这些命令行工具,本质上来讲,就是调用系统中存在的一些应用程序,将程序运行结果在终端显示出来。而程序运行需要的一些参数,通过命令行的特定格式,传递给命令来执行。

比如,上面的“netstat-ano”这个命令。其中,a、n、o就是netstat运行时需要用户提供的参数,这里也可以分开来写,比如:netstat-a-n-o。当用户将这个命令提交给shell、cmd等终端工具时,shell、cmd就将命令发送给系统底层(可能这里还不是系统底层,暂且这样理解即可)执行,执行后系统将结果会送给shell、cmd等,shell、cmd通过其展示机制,将运行结果展示给用户。

我们知道,Python实现一个GUI界面的应用程序,只需要使用Tk、Qt等库进行搭建即可。但是,如何使用Python构建一个带有命令行解析功能的程序呢?

Python实现一个带有命令行解析功能的程序

其实,对于这个问题,前面已经有很多内容进行介绍了,这里不再赘述,直接上链接

一文读懂Python标准库中argparser模块,详解命令行参数和解析器

Python标准库之argparse,详解如何创建一个ArgumentParser对象

Python标准库之argparse,详解如何为ArgumentParser实例添加参数

新手:我不喜欢记命令

对于系统操作高手来讲,特别喜欢这种带有命令行解析功能的程序,因为只需要几个简单的参数,就可以为程序提供无限多功能的扩充(细品)。但同时,功能越多,程序的学习成本就会越高。

学习成本

其实,我们无法准确判断GUI程序和Shell下命令行哪个更高效,单从普通用户来讲,肯定是学习成本越低越高效,因为大多数人是不愿意花费时间去学习一大堆命令行参数的。

最重要的是,程序通常需要做的不仅仅是一件事,这就需要为程序提供选项,要么构建一个GUI(Gooey模块),要么尝试解释如何为控制台应用程序提供参数(argparse模块)。

另一方面,尽管我们非常喜欢命令提示符,但在世界其他地方看来,它就像是80年代初的丑陋遗物。

Gooey是为了(希望)解决这些问题。它使程序易于使用,而且看起来很漂亮!

我们文章来介绍。

本文系作者原创,禁止转载!




转载请注明:http://www.aierlanlan.com/rzgz/2461.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了