0
点赞
收藏
分享

微信扫一扫

[oeasy]python0068_控制序列_清屏_控制输出位置_2J

光标位置

回忆上次内容

  • 上次了解了键盘演化的过程
  • ESC 从 组合键
  • 到 独立按键

 [oeasy]python0068_控制序列_清屏_控制输出位置_2J _python

  • ESC 的目的
  • 是进入控制序列
  • 配置控制信息
  • 控制信息
  • \033[y;xH 设置光标位置
  • \033[2J 清屏
  • 这到底​​怎么​​控制来着???🤔
  • 现在 系统里
  • 这些行为 是​​谁​​来实现的呢?

控制

 [oeasy]python0068_控制序列_清屏_控制输出位置_2J _github_02

  • 是由 gui系统中
  • 终端软件 来实现的
  • 具体来说就是
  • xfce terminal

输出字符

  • ​\033​​是转义序列
  • ​\33​​是​​\033​​的省略写法
  • ​33​​ 是 8 进制数形态的ord("\e")
  • 也可以 写成 16进制形态
  • ​\x1b​

print("\033[2J")

  • J 是模式选择
  • 清屏模式
  • 分为四种清屏
  • 0J - 从光标清到屏幕结束
  • 1J - 从光标清到屏幕开头
  • 2J - 整屏幕清
  • 3J - 整屏幕清并选择清空滚动缓存

 [oeasy]python0068_控制序列_清屏_控制输出位置_2J _git_03

  • 2J 是 整屏幕清

观察环境

  • 进入vi 观察屏幕大小

 [oeasy]python0068_控制序列_清屏_控制输出位置_2J _git_04

  • 终端屏幕默认 80\*24 (字符)

设置光标

  • \33[ 是CSI
  • 控制序列前导符

print("\33[1;1Hoeasy")

  • 1;1 指的是
  • 屏幕左上角
  • 终端大小
  • 横向80字符
  • 纵向24字符
  • 中间用分隔符是分号(;)
  • 设置好了 之后
  • 输出 后面的字符 oeasy
  • H 是模式选择

 [oeasy]python0068_控制序列_清屏_控制输出位置_2J _python_05

  • 可以先清屏再输出么?

清屏并设置光标

print("\33[2J")
print("\33[1;1Hoeasy")

  • 这是两句话
  • 完成两件事
  • 2J清屏
  • 1;1H设置输出位置
  • 两句话可以合并成一句吗?

合并输出

  • "\33[2J\33[1;1Hoeasy"
  • \33[2J 终端接收到后清屏
  • \33[1;1H 终端接收到后设置光标
  • 终端输出 oeasy

print("\33[2J\33[1;1Hoeasy")

  • 可以换个位置 输出吗?

换个位置

print("\33[2J\33[10;10Hoeasy")

  • "\33[2J\33[10;10Hoeasy"
  • 先清屏
  • 再在(10,10)坐标输出​​oeasy​
  • 这就是esc的作用

escape

  • 从当前输出序列中退出来
  • 进行控制信息的输出

 [oeasy]python0068_控制序列_清屏_控制输出位置_2J _git_06

  • 看起来很像安全逃生出口

总结

  • 这次了解了一个新的转义模式
  • \33 逃逸控制字符 esc
  • esc 让输出 退出标准输出流
  • 进行控制信息的设置
  • 可以清屏
  • 也可以设置光标输出的位置

 [oeasy]python0068_控制序列_清屏_控制输出位置_2J _github_07

  • 还能做什么呢?
  • 可以设置字符的颜色吗???🤔
  • 我们下次再说!👋
  • 蓝桥->​​https://www.lanqiao.cn/courses/3584​​
  • github->​​https://github.com/overmind1980/oeasy-python-tutorial​​
  • gitee->​​https://gitee.com/overmind1980/oeasypython​​
  • 视频->​​https://www.bilibili.com/video/BV1CU4y1Z7gQ​​ 作者:oeasy
举报

相关推荐

0 条评论