光标位置

回忆上次内容

  • 上次了解了键盘演化的过程

    • 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/courses/3584
  • github->https://github.com/overmind1980/oeasy-python-tutorial
  • gitee->https://gitee.com/overmind1980/oeasypython
  • 视频->https://www.bilibili.com/video/BV1CU4y1Z7gQ 作者:oeasy

[oeasy]python0068_控制序列_清屏_控制输出位置_2J的更多相关文章

  1. Flutter实战视频-移动电商-44.详细页_首屏自定义Widget编写

    44.详细页_首屏自定义Widget编写 把详细页的图片.标题.编号和价格形成一个单独的widget去引用 详情页的顶部单独封装个插件 在pages下面新建detials_page的文件件并在里面新建 ...

  2. oeasy教您玩转linux010109clear清屏

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

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

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

  4. Spring_MVC_教程_快速入门_深入分析

    Spring MVC 教程,快速入门,深入分析 博客分类: SPRING Spring MVC 教程快速入门  资源下载: Spring_MVC_教程_快速入门_深入分析V1.1.pdf Spring ...

  5. 浅谈 Underscore.js 中 _.throttle 和 _.debounce 的差异

    Underscore.js是一个很精干的库,压缩后只有5.2KB.它提供了几十种函数式编程的方法,弥补了标准库的不足,大大方便了JavaScript的编程. 本文仅探讨Underscore.js的两个 ...

  6. 关于在linux下清屏的几种技巧(转载-备忘)

    原文地址:http://www.cnblogs.com/5201351/p/4208277.html 在windows的DOS操作界面里面,清屏的命令是cls,那么在linux 里面的清屏命令是什么呢 ...

  7. 【转】linux清屏的几种方法

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

  8. 【转】关于在linux下清屏的几种技巧

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

  9. C/C++ linux下光标定位和清屏函数

    printf("\033[47;31mhello world\033[5m"); 47是字背景颜色, 31是字体的颜色, hello world是字符串.  后面的\033[5m是 ...

  10. 关于Windows文件读写_暗涌_新浪博客

    关于Windows文件读写_暗涌_新浪博客     这几天在研究怎么才能加快windows文件读写速度,搜了很多文章,MSDN也看了不少.稍微给大家分享一下.     限制windows文件读写速度的 ...

随机推荐

  1. C# winfrom 局域网版多人成语接龙(二)

    功能基本上是完成了,要两个人完才好玩,目前 倒计时,每组游戏玩家数量这些控制变量,都是写死再代码里的,等以后想改的时候再改,这个项目核心的功能算是实现了,但还可以扩展,比如记录一下用户的游戏数据,答对 ...

  2. 使用爬虫利器 Playwright,轻松爬取抖查查数据

    使用爬虫利器 Playwright,轻松爬取抖查查数据 我们先分析登录的接口,其中 url 有一些非业务参数:ts.he.sign.secret. 然后根据这些参数作为关键词,定位到相关的 js 代码 ...

  3. Vue cli之路由router

    一.安装路由 Vue-router用于提供给vue项目在开发中用于绑定url和组件页面的关系的核心插件. 默认情况下,vue没有提供路由的功能,所以我们使用vue-router,并需要在项目根目录. ...

  4. Android 13 - Media框架(5)- NuPlayerDriver

    关注公众号免费阅读全文,进入音视频开发技术分享群! 前面的章节中我们了解到上层调用setDataSource后,MediaPlayerService::Client(IMediaPlayer)会调用M ...

  5. 详解 JS 中的事件循环、宏/微任务、Primise对象、定时器函数,以及其在工作中的应用和注意事项

    为什么会突然想到写这么一个大杂烩的博文呢,必须要从笔者几年前的一次面试说起 当时的我年轻气盛,在简历上放了自己的博客地址,而面试官应该是翻了我的博客,好几道面试题都是围绕着我的博文来提问 其中一个问题 ...

  6. SpringBoot系列(一)简介。

    概述: Spring Boot 可以简化spring的开发,可以快速创建独立的.产品级的应用程序. 特征: 快速创建独立的 Spring 应用程序 直接嵌入了Tomcat.Jetty或Undertow ...

  7. pytest系列之-mark功能的使用

    功能使用: 标记用例,按正常.异常用例划分等级进行标记,或者按照模块进行划分. 标记后,可以执行部分用例. 例如: 你有以下用例,文件目录结构如下: testcase ----user ----man ...

  8. Math Record

    T1.P3327 知识点:莫比乌斯反演,数论分块 我们知道 \(d(ij) = \sum_{x | i}\sum_{y | j}[\gcd(x,y) == 1]\). 所以我们就要求 \(\sum^n ...

  9. Spring源码——@Component,@Service是如何被解析?

    引言 在Spring中,Component.Service是在工作中经常被使用到的注解,为了加深对Spring运行机制的理解,今天我们一起来看一下Spring中对Component等注解的处理方式 C ...

  10. python xlrd excel读取操作

    import xlrd wb = xlrd.open_workbook("test.xlsx") sheet1 = wb.sheets()[1] # 通过索引顺序获取 #table ...