前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[oeasy]python0082_[趣味拓展]控制序列_清屏_控制输出位置_2J

[oeasy]python0082_[趣味拓展]控制序列_清屏_控制输出位置_2J

原创
作者头像
oeasy
发布2023-08-08 08:22:57
1630
发布2023-08-08 08:22:57
举报
文章被收录于专栏:oeasy教您玩转linux、python

光标位置 回忆上次内容

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

添加图片注释,不超过 140 字(可选)

  • ESC的作用 是
  • 进入 控制序列
  • 配置 控制信息
  • 控制信息
  • \033[y;xH 设置光标位置
  • \033[2J 清屏
  • 这到底怎么控制???🤔
  • 谁来实现这些功能?

控制

  • 是由 系统中 终端软件
  • 来实现的

添加图片注释,不超过 140 字(可选)

  • 具体来说
  • 当前系统中 终端软件 就是
  • xfce terminal

添加图片注释,不超过 140 字(可选)

输出字符

  • \033是转义序列
  • \33是\033的省略写法
  • `\0ooo 的方式是
  • 使用 八进制形式 输出转义字符
  • 033 是
  • ord("\e") 的八进制形式
  • 也可以 写成 16进制形态
  • 0x1b
  • \x1b

print("\033[2J")

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

添加图片注释,不超过 140 字(可选)

  • 2J 是 整屏幕全清空

屏幕清空

  • 仿佛宇宙进行了一场重启
  • 回到了最初什么都没有的初始状态
  • 白茫茫大地真干净

添加图片注释,不超过 140 字(可选)

  • 这个字符的宇宙
  • 究竟有多大呢?

观察环境

  • 进入vi 观察屏幕大小

添加图片注释,不超过 140 字(可选)

  • 终端屏幕默认 80*24 (字符)
  • 这尺寸可以追溯到 早期的存储介质
  • 纸质卡片
  • 目前已经成为了 终端默认的大小

添加图片注释,不超过 140 字(可选)

  • 终端清屏之后
  • 可以让光标
  • 从左上角进行输出吗?

设置光标

  • \33[ 是CSI
  • 控制序列前导符
  • Control Sequence Introducer
  • 如果没有csi
  • 就是将文本直接输出到标准输出流
  • 如果加上了csi
  • 就输出了控制序列
  • 从而可以控制输出的位置和颜色等

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

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

添加图片注释,不超过 140 字(可选)

  • 可以先清屏 再输出吗?

清屏并设置光标 print("\33[2J") print("\33[1;1Hoeasy")

  • 这是两句话
  • 完成两件事
  1. 2J清屏
  2. 1;1H设置输出位置

添加图片注释,不超过 140 字(可选)

  • 两句话可以合并成一句吗?

合并输出

  • "\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
  • 这样就可以 让光标
  • 在屏幕中 任意移动

添加图片注释,不超过 140 字(可选)

  • 一个跟头 十万八千里
  • 这就是通过escape引发的
  • 控制序列的 作用

escape

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

添加图片注释,不超过 140 字(可选)

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

添加图片注释,不超过 140 字(可选)

总结

  • 这次了解了 一个新的转义模式
  • \33 逃逸控制字符 esc
  • esc 让输出
  • 退出 标准输出流
  • 进行 控制信息的设置
  • 可以 清屏
  • 也可以 设置光标输出的位置
  • 还能做什么呢?
  • 可以 设置 字符的颜色吗???🤔

添加图片注释,不超过 140 字(可选)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档