光标位置 回忆上次内容
  • 上次了解了键盘演化的过程
  • 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 字(可选)
 


[oeasy]python0082_[趣味拓展]控制序列_清屏_控制输出位置_2J的更多相关文章

  1. oeasy教您玩转linux010109clear清屏

     回忆上次内容 上次讲了灵魂三问 whatis whereis which 通过这三个问题,可以对命令基本了解,我们来试一下!!

  2. Matlab(1) -- Matlab清屏命令

    这里介绍 matlab 中三种不同的清理变量.显示窗口或图形的命令. 一.比较重要的清理:清除变量命令:clear 说明:运行m文件之前一般都需要该命令,否则可能出错. 二.比较常用的清理:清理当前命 ...

  3. x8086汇编实现dos清屏(clear screen)

    题目要求:x8086汇编实现dos下的清屏功能 80X25彩色字符模式显示缓冲区的结构: 在内存地址结构中,B8000H~BFFFFH共32KB的空间,为80x25彩色字符模式的显示缓冲区.向这个地址 ...

  4. Python:IDLE清屏

    清屏很简单,为IDLE增加一个清屏的扩展ClearWindow即可. 首先下载clearwindow.py(点击可直接下载,不能下载的可以右键保存,格式为py结尾), 将这个文件放到Python安装目 ...

  5. 在Xcode中想要清屏该怎么实现

    XCODE的控制台不会有清屏效果,并没有像终端一样可以clear.但在某些时候我们非得想要清屏该怎么办呢??你去打开可执行文件,就会有类似清屏的效果.实际上是它帮你自动换页了,xcode左边是可以看到 ...

  6. SecureCRT清屏

    Ctrl + l:清屏Ctrl + c:终止命令Ctrl + z:挂起命令

  7. python idle 清屏问题的解决

    在学习和使用python的过程中,少不了要与python idle打交道.但使用python idle都会遇到一个常见而又懊恼的问题——要怎么清屏?   我在stackoverflow看到这样两种答案 ...

  8. Android学习笔记进阶之在图片上涂鸦(能清屏)

    Android学习笔记进阶之在图片上涂鸦(能清屏) 2013-11-19 10:52 117人阅读 评论(0) 收藏 举报 HandWritingActivity.java package xiaos ...

  9. 关于在linux下清屏的几种技巧

    在windows的DOS操作界面里面,清屏的命令是cls,那么在linux 里面的清屏命令是什么呢?下面笔者分享几种在linux下用过的清屏方法. 1.clear命令.这个命令将会刷新屏幕,本质上只是 ...

  10. java——JNI(例子控制台(64位)清屏

    因为java的最底层是jvm,所以单纯的控制台java程序不能感知jvm再下面的操作系统的情况, 可以通过JNI(Java Native Interface)技术实现java后台调用C++/C的dll ...

随机推荐

  1. 如何利用 Seaborn 实现高级统计图表

    本文分享自华为云社区<使用 Seaborn 实现高级统计图表从箱线图到多变量关系探索> ,作者:柠檬味拥抱. 在数据科学和数据可视化领域,Seaborn 是一个备受欢迎的 Python 可 ...

  2. uniapp video组件全屏导致页面横竖错乱问题

    uniapp video组件全屏导致页面横竖错乱问题 背景介绍 使用 video组件做一个视频播放功能,不全屏的情况正常.在苹果手机上全屏后,点击左上角退出全屏,页面出现问题如下图问题,主要系统iOS ...

  3. 【力扣-TS解题】1、回文数

    给你一个整数 x ,如果 x 是一个回文整数,返回 true :否则,返回 false . 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 例如,121 是回文,而 123 不是 来源 ...

  4. 使用计算巢打造纯内网部署的PaaS服务

    私有化部署PaaS软件的公网访问需求 在阿里云计算巢,我们发现,很多本来应该只在VPC内网使用的三方PaaS软件和中间件,在部署时都开启了公网IP,这并不符合最佳实践. 以数据库为例,数据库保存了对企 ...

  5. C#开源实用的工具类库,集成超过1000多种扩展方法

    前言 今天大姚给大家分享一个C#开源(MIT License).免费.实用且强大的工具类库,集成超过1000多种扩展方法增强 .NET Framework 和 .NET Core的使用效率:Z.Ext ...

  6. 美团面试:说说Netty的零拷贝技术?

    零拷贝技术(Zero-Copy)是一个大家耳熟能详的技术名词了,它主要用于提升 IO(Input & Output)的传输性能. 那么问题来了,为什么零拷贝技术能提升 IO 性能? 1.零拷贝 ...

  7. element-ui 合并行或列 table :span-method(行合并)

    element-ui 官网案例:table合并行或列 element-ui官网中关于行合并的例子是根据行号进行合并的,这显然不符合我们日常开发需求,因为通常我们table中的数据都是动态生成的,所以需 ...

  8. docker制作springboot镜像

    以下步骤在具有Docker环境的Linux机器上操作. 把springboot-1.0.0.jar放到/usr/local/springboot目录下,并在该目录下创建Dockerfile文件,内容为 ...

  9. 简单理解IOC控制反转和DI依赖注入

    用过.net core框架的同学都知道,框架默认支持"构造函数"注入引用对象的方式.使用.net core框架也有一段时间了,最近去了解了一下到底什么是"依赖注入&quo ...

  10. 调用了这么久的JS方法是长在对象、类、值本身还是原型链上?

    调用了这么久的JS方法是长在对象.类.值本身还是原型链上? JavaScript这门语言总是能带给我惊喜,在敲代码的时候习以为常的写法,退一步再看看发现自己其实对很多基操只有表面的使用,而从来没思考过 ...