关于python:oeasypython0068控制序列清屏控制输出位置2J

37次阅读

共计 997 个字符,预计需要花费 3 分钟才能阅读完成。

光标地位

回顾上次内容

  • 上次理解了键盘演变的过程

    • ESC 从 组合键
    • 到 独立按键
  • ESC 的目标

    • 是进入管制序列
    • 配置管制信息
  • 管制信息

    • \033[y;xH 设置光标地位
    • \033[2J 清屏
  • 这到底 怎么 管制来着???🤔
  • 当初 零碎里

    • 这些行为 是 来实现的呢?

管制

  • 是由 gui 零碎中

    • 终端软件 来实现的
    • 具体来说就是

      • xfce terminal

输入字符

  • \033是转义序列

    • \33\033 的省略写法
    • 33 是 8 进制数状态的 ord(“\e”)

      • 也能够 写成 16 进制状态

        • \x1b
print("\033[2J")
  • J 是模式抉择

    • 清屏模式
    • 分为四种清屏

      • 0J – 从光标清到屏幕完结
      • 1J – 从光标清到屏幕结尾
      • 2J – 整屏幕清
      • 3J – 整屏幕清并抉择清空滚动缓存
  • 2J 是 整屏幕清

察看环境

  • 进入 vi 察看屏幕大小
  • 终端屏幕默认 80*24 (字符)

设置光标

  • \33[是 CSI

    • 管制序列前导符
print("\33[1;1Hoeasy")
  • 1;1 指的是

    • 屏幕左上角
    • 终端大小

      • 横向 80 字符
      • 纵向 24 字符
    • 两头用分隔符是分号(;)
  • 设置好了 之后

    • 输入 前面的字符 oeasy
  • H 是模式抉择
  • 能够先清屏再输入么?

清屏并设置光标

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

  • 从以后输入序列中退出来

    • 进行管制信息的输入
  • 看起来很像平安逃生进口

总结

  • 这次理解了一个新的本义模式

    • \33 逃逸控制字符 esc
  • esc 让输入 退出规范输入流

    • 进行管制信息的设置

      • 能够清屏
      • 也能够设置光标输入的地位
  • 还能做什么呢?

    • 能够设置字符的色彩吗???🤔
  • 咱们下次再说!👋
  • 蓝桥 ->https://www.lanqiao.cn/course…
  • github->https://github.com/overmind19…
  • gitee->https://gitee.com/overmind198…
  • 视频 ->https://www.bilibili.com/vide… 作者:oeasy

正文完
 0