[oeasy]python0066_控制序列_光标位置设置_ESC_逃逸字符_CSI

简介: [oeasy]python0066_控制序列_光标位置设置_ESC_逃逸字符_CSI

光标位置

回忆上次内容

  • 上次讲了 三引号的输出
  • 三引号中
  • 回车和引号 都会 被原样输出
  • \ 还是需要从 \\转义
  • 黑暗森林 快被摸排清了
  • 还有哪个 转义序列
  • 没 研究过吗?🤔

  • \e是 干什么的?🤔

回忆转义

  • 转义转义
  • 转化含义

  • \反斜杠(backslash)加了之后
  • 字符就不是原来的意思了
  • 转义么
  • 转义转义
  • 转化含义
  • 所以\反斜杠这个字符
  • 也叫做转义字符Escape character
  • \b 这两个字符的序列算是一个转义序列 Escape sequence
  • \ 这个转义字符会让 \b转义序列
  • 转义为 Backspace 这个含义
  • Backspace退格就是这个序列转化含义之后的含义
  • 这个转化后的含义也对应一个ascii字符
  • 就是 \b
  • 键盘上的退格对应的数值就是8

转义 Escape

  • \e是什么意思呢?

  • 转义之后的的含义竟然是 escape

搜索结果

  • 来捋一捋🤔

  • \是转义字符
  • 要和后面的字符一起构成转义序列
  • \e是转义序列
  • 转义的含义是 escape
  • 所谓转义转义
  • 转化含义
  • 转义序列\e对应的字符含义是Escape
  • 再次逃逸出去
  • 能逃去到哪里呢?

逃逸

  • 从标准输出序列中逃逸出来

  • 可以让输出
  • 从当前的字符串序列中
  • 逃逸(Escape)出去
  • 后面的内容
  • 可就不是 输出的文本 了
  • 而是 控制序列(Control Sequence)
  • [10;20H 控制 输出位置
  • 第10行第20列进行输出
  • 这种控制方法
  • 在今天被称为
  • ANSI escape code 标准
  • 我们来试试

动手实验

  • 真的可以定位输出
  • 从正常的输出流逃逸到了控制序列!!!

  • 那为什么有控制序列呢?

缘起

  • 电传打字机 输出的颜色
  • 只能通过 控制色带(类似于墨盒)
  • 来控制 打印颜色的深浅
  • 是物理过程

  • 早期的终端
  • 通过调节 显示器亮度 来改变显示效果
  • 各个终端的 制造商
  • 都有 自己独特的 控制字符
  • 这些特殊字符 是和 机器相关 的
  • 彼此 并不兼容
  • 但只要 接受到 这些控制字符
  • 终端 就可以 调整输出方式
  • 比如
  • 在 某个横纵坐标位置[x,y]
  • 输出字符
  • 这就是 数字过程了

统一标准

  • 但是不同终端
  • 控制方式不同
  • 可能 造成显示状态 异常
  • 远程终端输出结果不可控
  • 需要一个关于控制字符的统一标准
  • 1964 年 ISO 646
  • 在欧洲以ECMA-6的形式存在
  • 后来被ANSI(American National Standards Institute)
  • 整合为工业标准
  • 叫做 ANSI X3.64

  • 是不是很像ascii
  • 而且包括了 整个黑暗森林
  • 本来 在各种电传打字机 中实现支持
  • 现在在 terminal软件 中实现支持

esc 键

  • Teletype Model ASR-33 终端键盘
  • 数据通信行业 最受欢迎的终端之一
  • 1963 年推出
  • 注意 shift 和 ctrl 都已经出现
  • Alt Mode 出现在第 1 列

  • \e这个转义序列 有了对应的按键吗?
  • ALT MODE
  • 是用来 切换模式的 特殊按键
  • 这是当时的 esc 键 吗?

总结

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

  • ASR33中的ALT MODE
  • 是 今天的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
目录
相关文章
|
12天前
|
存储 算法 数据挖掘
【2023年中国高校大数据挑战赛 】赛题 B DNA 存储中的序列聚类与比对 Python实现
本文介绍了2023年中国高校大数据挑战赛赛题B的Python实现方法,该赛题涉及DNA存储技术中的序列聚类与比对问题,包括错误率分析、序列聚类、拷贝数分布图的绘制以及比对模型的开发。
26 1
【2023年中国高校大数据挑战赛 】赛题 B DNA 存储中的序列聚类与比对 Python实现
|
12天前
|
机器学习/深度学习 数据采集 算法
【优秀python算法毕设】基于python时间序列模型分析气温变化趋势的设计与实现
本文介绍了一个基于Python的时间序列模型,用于分析和预测2021-2022年重庆地区的气温变化趋势,通过ARIMA和LSTM模型的应用,揭示了气温的季节性和趋势性变化,并提供了对未来气温变化的预测,有助于气象预报和相关决策制定。
【优秀python算法毕设】基于python时间序列模型分析气温变化趋势的设计与实现
|
1天前
|
程序员 开发工具 Python
[oeasy]python0030_动态控制断点_breakpoints_debug_调试
[oeasy]python0030_动态控制断点_breakpoints_debug_调试
6 2
|
13天前
|
Python
【Python】如何判断时间序列数据是否为平稳时间序列或非平稳时间序列?
本文介绍了如何通过观察均值和方差的变化、ADF单位根检验、KPSS检验以及差分操作来判定时间序列数据是否为平稳或非平稳,并提供了Python代码示例进行实际检验。
26 0
【Python】如何判断时间序列数据是否为平稳时间序列或非平稳时间序列?
|
5天前
|
Linux UED iOS开发
Python colorama 设置控制台、命令行输出彩色文字
Python colorama 设置控制台、命令行输出彩色文字
10 0
|
5天前
|
Python
Python 设置环境变量方法
Python 设置环境变量方法
5 0
|
8天前
|
程序员 Shell 开发工具
[oeasy]python029_ until_直接跳转到_unt_breakpoint_断点函数
回顾早期计算机操作员多为女性,她们甚至发明了“bug”这个词。为了体验调试过程,我们故意在Python脚本中引入了一个拼写错误,并通过直接运行程序遇到了`NameError`。 通过`until`命令,我们可以快速跳转到指定行执行,这对于大型项目非常有用。此外,`continue`(或简写`c`)命令则会一直执行到下一个断点或程序结束。我们还可以在代码中使用`breakpoint()`设置断点,配合`continue`命令使用,实现快速跳转至特定位置进行调试。 这些技巧使调试过程变得高效且有趣,如同解开谜题一般。下次我们将探讨如何在调试过程中动态设置与取消断点。
18 0
|
8天前
|
算法 程序员 开发工具
百万级Python讲师又一力作!Python编程轻松进阶,豆瓣评分8.1
在学习Python的旅程中你是否正在“绝望的沙漠”里徘徊? 学完基础教程的你,是否还在为选择什么学习资料犹豫不决,不知从何入手,提高自己?
百万级Python讲师又一力作!Python编程轻松进阶,豆瓣评分8.1
|
1天前
|
Shell 数据处理 C++
【震撼揭秘】Python正则VS Shell正则:一场跨越编程边界的史诗级对决!你绝不能错过的精彩较量,带你领略文本处理的极致魅力!
【8月更文挑战第19天】正则表达式是文本处理的强大工具,在Python与Shell中有广泛应用。两者虽语法各异,但仍共享许多基本元素,如`.`、`*`及`[]`等。Python通过`re`模块支持丰富的功能,如非捕获组及命名捕获组;而Shell则依赖`grep`、`sed`和`awk`等命令实现类似效果。尽管Python提供了更高级的特性和函数,Shell在处理文本文件方面仍有其独特优势。选择合适工具需根据具体需求和个人偏好决定。
|
6天前
|
算法 程序员 开发工具
百万级Python讲师又一力作!Python编程轻松进阶,豆瓣评分8.1
在学习Python的旅程中你是否正在“绝望的沙漠”里徘徊? 学完基础教程的你,是否还在为选择什么学习资料犹豫不决,不知从何入手,提高自己?