系列文章目录
【Python CLI】第一章 CLI 应用程序介绍
【Python CLI】第二章 命令解析
【Python CLI】第三章 格式化输出
【Python CLI】第四章 程序控制台
文章目录
- 系列文章目录
- 前言
- 一、命令行、终端、控制台、shell
- 二、CLI 应用程序
-
- 1. 命令解析
- 2. 命令行输出
- 3. 控制台(console)
- 总结
前言
CLI(command-line interface,命令行接口)是指应用程序提供的在 命令行 用户进行交互的接口。它通常 不支持鼠标 ,用户通过键盘输入命令,程序接收到命令后,依据命令的 选项 和 参数 控制程序执行。
一、命令行、终端、控制台、shell
- 命令行界面 (CLI) 是 使用文本命令进行交互的用户界面。
- 终端 (Terminal) = TTY, 终端是 文本输入/输出环境; 终端只是一种用于与计算机进行交互的输入输出设备,其本身并不提供运算处理功能。
- 控制台 (Console) 是 一种特殊的终端,每一个 CLI 都可以实现属于应用程序的控制台。
- shell :操作系统提供给 用户界面的应用程序 被叫做 shell,shell可以调用系统 API 执行用户输入的命令并返回结果。
梳理一下:shell 是系统应用,提供了命令行界面,并且可以调用系统API完成命令的执行。终端是命令行界面的包装,控制台是可以由每一个应用程序自己实现的,控制程序功能的特殊终端。
开启命令行界面:
- window :按下 Windows 徽标键和 R 键 输入 cmd 按下回车键开启
- Mac OS:打开 终端(terminal)APP即可
- Linux:
- 方式1:Linux发行版启动后通常会进入默认的图形界面,和 Mac OS 类似的,会有终端对应的软件。
- 方式2:调整配置,进入命令行模式
二、CLI 应用程序
CLI 应用程序是通过 命令 + 选项 + 参数 的方式来与用户进行交互,控制程序的运行的,并且程序运行的结果也需要在命令行中显示出来,所以,CLI 应用程序除了完成程序的核心功能之外,还需要来完成 命令的解析 以及在 命令行进行输出 的功能。
除此之外,部分 CLI 应用程序也需要一个控制台来和用户进行交互,控制程序的运行。
下面我们对这三部分进行简单的介绍。
1. 命令解析
一般 CLI 应用程序命令的格式如下:
·命令 [选项] [参数]
为了区分选项和参数,约定通常使用 -
做选项的前缀。
使用一个 -
+ 单个字母 的选项 被称为短选项。
使用两个 -
+ 单词 的选项被称之为长选项。
长短选项可以对应存在或者单独存在。同时,选项也可以消耗命令行中的参数。
CLI 应用程序通常都有 -h/--help
这组命令用来显示帮助信息,帮助用户了解应用程序的使用方式。
这里对 CLI 应用程序使用方式中的符号做简单说明:
- 尖括号:
<>
表示括号内的内容是必选的,不能忽略,使用时没有尖括号。- 方括号:
[]
表示里面的元素(参数、值或信息)是可选的,0个、1个或者多个。- 花括号:
{}
表示参数必须是里面的其中一个值- 省略号:
…
表示当前的参数可以重复。
2. 命令行输出
命令行输入不单单是使用 print 函数进行打印,而是程序获取终端的宽度和高度之后经过计算来格式化的输出内容,使命令行中的输出美观易读。
同时,可以使用不同的高亮和颜色来在命令行进行输出。
可以使用 ANSI 色彩代码来进行高亮和颜色的控制
ANSI 色彩代码
前景(3开头) 背景(4开头) 颜色 ANSI控制码(结束标识\E[0m) 30 40 0黑色 \E[30m\E[0m,\E[40m\E[0m 31 41 1红色 \E[31m\E[0m,\E[41m\E[0m 32 42 2绿色 \E[32m\E[0m,\E[42m\E[0m 33 43 3黄色 \E[33m\E[0m,\E[43m\E[0m 34 44 4蓝色 \E[34m\E[0m,\E[44m\E[0m 35 45 5紫色 \E[35m\E[0m,\E[45m\E[0m 36 46 6天蓝 \E[36m\E[0m,\E[46m\E[0m 37 47 7白色 \E[37m\E[0m,\E[47m\E[0m ANSI 其它控制码
控制码 说明 \033[0m 关闭所有属性,即属性结束标识 \033[01m 设置高亮度,即字体加粗、文体强调 \033[03m 设置倾斜 \033[04m 下划线 \033[05m 闪烁 \033[07m 反显 \033[08m 消隐 \033[09m 文字中划线 \033[3nm 设置前景色(0 ≤ n ≤ 7) \033[4nm 设置背景色(0 ≤ n ≤ 7) \033[nA 光标上移n行 \033[nB 光标下移n行 \033[nC 光标右移n行 \033[nD 光标左移n行 \033[y;xH 设置光标位置 \033[2J 清屏 \033[K 清除从光标到行尾的内容 \033[s 保存光标位置 \033[u 恢复光标位置 \033[?25l 隐藏光标 \033[?25h 显示光标
3. 控制台(console)
控制台是 CLI 应用程序控制的特殊终端,只有部分CLI应用程序有。
控制台其实就是一个循环:等待用户输入 -> 解析用户输入 -> 应用程序执行 -> 展示执行结果 -> 等待用户输入
。
当用户按下 Ctrl – D 或者 Ctrl -C 又或者是输入退出的命令之后结束应用程序。
总结
以上就是这一章的主要内容,主要介绍了 CLI 应用程序部分必知必会的内容。