1. 高亮输出显示
要想把输出的结果高亮显示,只需要手动控制转义序列即可
终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关(在Linux上编写shell脚本的时候也是适用的),控制字符颜色的转义序列是以ESC开头,即用\033来完成
使用语法:编写字符串的时候加入转义序列
'\033[4x;3x;xm哈哈哈哈\0330m' # x代表要修改的值
其中只需要修改x的值即可控制颜色高亮显示:
- 4x:修改4x代表改变文字显示的背景色
- 3x:修改3x代表改变文件显示的前景色(即字体的颜色)
- xm:修改光标显示的状态
颜色对应值
前景色 | 背景色 | 对应颜色 |
---|---|---|
30 | 40 | 黑色 |
31 | 41 | 红色 |
32 | 42 | 绿色 |
33 | 43 | 黄色 |
34 | 44 | 蓝色 |
35 | 45 | 紫红色 |
36 | 46 | 青蓝色 |
37 | 47 | 白色 |
1 | 1 | 透明 |
光标状态值
状态值 | 状态 |
---|---|
0 | OFF |
1 | 高亮 |
4 | 下划线 |
5 | 闪烁 |
7 | 反白显示 |
8 | 不可见 |
我们分别来看一下修改的效果:
修改背景色:
for i in range(8):
print(f'\033[4{i}m4{i}:颜色是这样的\033[0m')
![](https://img.haomeiwen.com/i14838715/ca2a4e4eade33773.png)
修改前景色:
for i in range(8):
print(f'\033[3{i}m3{i}:颜色是这样的\033[0m')
![](https://img.haomeiwen.com/i14838715/2306a88d438087f2.png)
同时修改背景和前景色为:
lst = [(x, y) for x in range(41, 48) for y in range(31, 38)]
for colors in lst:
print(f'\033[{colors[0]};{colors[1]}m{colors}:颜色是这样的\033[0m')
![](https://img.haomeiwen.com/i14838715/32b643f26ee6e15a.png)
2. tree命令的简易实现
这个就没什么好说的了(用递归遍历目录下的文件夹及文件),之间上代码:
import os, sys
def list_file(path:str, deepin=0):
lst = os.listdir(path)
prefix = '| '
for ele in lst:
full_path = os.path.join(path, ele)
if os.path.isdir(full_path):
print(prefix * deepin + '|____' + ele)
list_file(full_path, deepin=deepin + 1)
else:
if deepin == 0:
print('|____' + ele)
else:
# prefix += '|'
print(prefix * deepin + '|____' + ele)
path = sys.argv[1]
print(path)
list_file(path)
效果图如下:
![](https://img.haomeiwen.com/i14838715/3447459c7563c9f0.png)
网友评论