import os
import sys


# 使用 os.path.expanduser('~') 获取当前操作系统平台的当前用户根目录   expand user 扩展用户
print(os.path.expanduser('~'))
print(os.sep + '.shiyanlou_shell_history')
print(os.path.expanduser('~') + os.sep + '.shiyanlou_shell_history')

print(sys.stdout.write("[\033[1;33m%s\033[0;0m@%s \033[1;36m%s\033[0;0m] $ " % ('user', 'hostname', 'base_dir')))


# https://www.shiyanlou.com/courses/647/labs/2113/document
# 为了便于在终端调试中进行观察，在 Unix 系统中我们能通过转义字符来实现输出的高亮。
# 例如 '[\033[1;33m%s\033[0;0m@%s \033[1;36m%s\033[0;0m] $ '
# 这串转义字符实现的效果如下：
#
# 3.2-1
#
# 转义序列以控制字符 'ESC' 和左括号 '[' 开头，该起始序列称为控制序列引导符，通常由 \033 代替。
#
# 而通过转义序列设置终端显示属性的格式为：
#
# \033[Param {;Param;...}m
# 其中转义序列以 \033[ 为开头，m 为设置属性结束，中间部分的 Param 为属性值，{} 表示可以设置多个属性，属性值之间通过分号 ; 隔离。
#
# 而属性值设置的对应关系如下：
#
# \033[显示方式;前景色;背景色m字符串
# 「显示方式」常见参数如下：
#
# 参数值	作用
# 0	默认
# 1	粗体/高亮
# 4	单条下划线
# 5	闪烁
# 各「颜色」对应的参数如下表，「前景色」的实际颜色参数为 30+参数值 而「背景色」的实际颜色参数值为 40+参数值 。比如，前景色的红色参数值为 31 而背景色的红色参数值为 41 。
#
# 参数值	颜色
# 0	黑色
# 1	红色
# 2	绿色
# 3	黄色
# 4	蓝色
# 5	洋红色
# 6	青色
# 7	白色
