当前位置: 首页 > news >正文

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

光标位置

回忆上次内容

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

图片描述

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

控制

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

图片描述

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

图片描述

输出字符

  • \033是转义序列
    • \33\033的省略写法
      • ``\0ooo` 的方式是
        • 使用 八进制形式 输出转义字符
    • 033
      • ord(“\e”) 的八进制形式
    • 也可以 写成 16进制形态
      • 0x1b
      • \x1b
print("\033[2J")
  • J 是模式选择
    • 清屏模式
    • 分为四种清屏
      • 0J - 从光标清到屏幕结束
      • 1J - 从光标清到屏幕开头
      • 2J - 整屏幕清
      • 3J - 整屏幕清并选择清空滚动缓存

图片描述

  • 2J 是 整屏幕全清空

屏幕清空

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

图片描述

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

观察环境

  • 进入vi 观察屏幕大小

图片描述

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

图片描述

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

设置光标

  • \33[ 是CSI

    • 控制序列前导符
    • Control Sequence Introducer
  • 如果没有csi

    • 就是将文本直接输出到标准输出流
  • 如果加上了csi

    • 就输出了控制序列
    • 从而可以控制输出的位置和颜色等
print("\33[1;1Hoeasy")
  • 1;1 指的是
    • 屏幕左上角
      • 终端大小
        • 横向80字符
        • 纵向24字符
    • 中间用分隔符是分号(😉
  • 设置好了输出位置 之后
    • 再输出 后面的字符 oeasy
  • H 是模式选择

图片描述

  • 可以先清屏 再输出吗?

清屏并设置光标

print("\33[2J")
print("\33[1;1Hoeasy")
  • 这是两句话
    • 完成两件事
      1. 2J清屏
      2. 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
  • 这样就可以 让光标

    • 在屏幕中 任意移动

图片描述

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

escape

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

图片描述

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

图片描述

总结

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

    • \33 逃逸控制字符 esc
  • esc 让输出

    • 退出 标准输出流
    • 进行 控制信息的设置
      • 可以 清屏
      • 也可以 设置光标输出的位置
  • 还能做什么呢?

    • 可以 设置 字符的颜色吗???🤔

图片描述

  • 我们下次再说!👋

  • 蓝桥->https://www.lanqiao.cn/courses/3584

  • github->https://github.com/overmind1980/oeasy-python-tutorial

  • gitee->https://gitee.com/overmind1980/oeasypython

相关文章:

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

光标位置 回忆上次内容 上次了解了键盘演化的过程 ESC 从 组合键到 独立按键 ESC的作用 是 进入 控制序列配置 控制信息控制信息 \033[y;xH 设置光标位置\033[2J 清屏 这到底怎么控制???🤔谁来实现这些功能? 控制…...

Zookeeper+kafka

目录 1. Zookeeper定义 2. Zookeeper工作机制 3. Zookeeper特点 4. Zookeeper数据结构 5. Zookeeper应用场景 5.1 统一命名服务 5.2 统一配置管理 5.3 统一集群管理 5.4 服务器动态上下线 5.5 软负载均衡 6. Zookeeper 选举机制 6.1 第一次启动选举机制 6.2 非第一…...

Gpt微信小程序搭建的前后端流程 - 前端小程序部分-1.基础页面框架的静态设计(二)

Gpt微信小程序搭建的前后端流程 - 前端小程序部分-1.基础页面框架的静态设计(二) 在开始这个专栏,我们需要找一个小程序为参考,参考和仿照其界面,聊天交互模式。 这里参考小程序-小柠AI智能聊天,可自行先体验。 该小程序主要提供了…...

Flask进阶:构建RESTful API和数据库交互

在初级教程中,我们已经介绍了如何使用Flask构建基础的Web应用。在本篇中级教程中,我们将学习如何用Flask构建RESTful API,以及如何使用Flask-SQLAlchemy进行数据库操作。 一、构建RESTful API REST(Representational State Tran…...

6.9(Java)二叉搜索树

1.我的代码: public class BinarySearchTree {class TreeNode {public int key;public TreeNode left;public TreeNode right;public TreeNode(int key) {this.key key;}}public TreeNode root; // 根节点// 插入一个元素,注意,不能插入重复的值,如…...

洛谷P2256 一中校运会之百米跑

题目背景 在一大堆秀恩爱的 ** 之中,来不及秀恩爱的苏大学神踏着坚定(?)的步伐走向了 100 100 100 米跑的起点。这时苏大学神发现,百米赛跑的参赛同学实在是太多了,连体育老师也忙不过来。这时体育老师发…...

python-opencv对极几何 StereoRectify

OpenCV如何正确使用stereoRectify函数 函数介绍 用于双目相机的立体校正环节中,这里只谈谈这个函数怎么使用,参数具体指哪些函数参数 随便去网上一搜或者看官方手册就能得到参数信息,但是!!相对关系非常容易出错&…...

pom文件---maven

027-Maven 命令行-实验四-生成 Web 工程-执行生成_ev_哔哩哔哩_bilibili 27节.后续补充 一.maven下载安装及配置 1)maven下载 2) settings文件配置本地仓库 3)settings配置远程仓库地址 4)配置maven工程的基础JDK版本 5)确认JDK环境变量配置没问题,配置maven的环境变量 验证…...

界面控件DevExpress.Drawing图形库早期增强功能分享

众所周知,DevExpress在v22.2发布周期中引入了全新的DevExpress.Drawing图形库(并且已经在随后的小更新中引入了一系列增强功能)。 在这篇博文中,我们将总结在DevExpress v23.1中解决的一些问题,以及在EAP构建中为以下…...

Semantic Kernel 入门系列:Connector连接器

当我们使用Native Function的时候,除了处理一些基本的逻辑操作之外,更多的还是需要进行外部数据源和服务的对接,要么是获取相关的数据,要么是保存输出结果。这一过程在Semantic Kernel中可以被归类为Connector。 Connector更像是…...

Maven介绍-下载-安装-使用-基础知识

Maven介绍-下载-安装-使用-基础知识 Maven的进阶高级用法可查看这篇文章: Maven分模块-继承-聚合-私服的高级用法 文章目录 Maven介绍-下载-安装-使用-基础知识01. Maven1.1 初识Maven1.1.1 什么是Maven1.1.2 Maven的作用 02. Maven概述2.1 Maven介绍2.2 Maven模型…...

Ansible环境搭建,CentOS 系列操作系统搭建Ansible集群环境

Ansible是一种自动化工具,基于Python写的,原理什么的就不过多再说了,详情参考:https://www.itwk.cc/post/403.html https://blog.csdn.net/qq_34185638/article/details/131079320?spm1001.2014.3001.5502 环境准备 HOSTNAMEIP…...

Django基础

1.Django基础 路由系统视图模板静态文件和媒体文件中间件ORM(时间) 2.路由系统 本质上:URL和函数的对应关系。 2.1 传统的路由 from django.contrib import admin from django.urls import path from apps.web import viewsurlpatterns …...

HTML,url,unicode编码

目录标题 HTML实体编码urlcode编码unicode编码小结基础例题高级例题 HTML实体编码 实体表示&#xff1a; 以&符号开始&#xff0c;后面跟着一个预定义的实体的名称&#xff0c;或是一个#符号以及字符的十进制数字。 例&#xff1a; <p>hello</p> <!-- 等同…...

Hbase-热点问题(数据存储倾斜问题)

1. 危害 某一台regionserver消耗过多&#xff0c;承受过多的并发量&#xff0c;时间长机器性能下降&#xff0c;甚至宕机 2. 解决 可以通过设计rowkey预分区的方法解决 比如可以预分区120个&#xff0c;1月的数据存到1-10分区&#xff0c;每个月的数据存到10个分区&#xff…...

一个基于Java线程池管理的开源框架Hippo4j实践

线程池痛点 线程池是一种基于池化思想管理线程的工具&#xff0c;使用线程池可以减少创建销毁线程的开销&#xff0c;避免线程过多导致系统资源耗尽。在高并发以及大批量的任务处理场景&#xff0c;线程池的使用是必不可少的。线程池常见痛点&#xff1a; 线程池随便定义&…...

源码解析Flink源节点数据读取是如何与checkpoint串行执行

文章目录 源码解析Flink源节点数据读取是如何与checkpoint串行执行Checkpoint阶段StreamTask类变量actionExecutor的实现和初始化小结 数据读取阶段小结 总结 源码解析Flink源节点数据读取是如何与checkpoint串行执行 Flink版本&#xff1a;1.13.6 前置知识&#xff1a;源节点…...

进阶:Docker容器管理工具——Docker-Compose使用

文章目录 前言Compose大杀器编排服务 1、docker-compose安装curl方式安装增加可执行权限查看版本 2、Docker-compose.yaml命令3、 docker-compose实战4、Docker网络路由docker的跨主机网络路由**问题由来**:方案两台机分别配置路由表ip_forward配置 总结 前言 容器的管理工具&…...

策略模式(Strategy)

策略模式是一种行为设计模式&#xff0c;就是定义一系列算法&#xff0c;然后将每一个算法封装起来&#xff0c;并使它们可相互替换。本模式通过定义一组可相互替换的算法&#xff0c;实现将算法独立于使用它的用户而变化。 Strategy is a behavioral design pattern that def…...

webpack基础知识十:与webpack类似的工具还有哪些?区别?

一、模块化工具 模块化是一种处理复杂系统分解为更好的可管理模块的方式 可以用来分割&#xff0c;组织和打包应用。每个模块完成一个特定的子功能&#xff0c;所有的模块按某种方法组装起来&#xff0c;成为一个整体(bundle) 在前端领域中&#xff0c;并非只有webpack这一款…...

AI模型评估指标:InstantID在各项基准测试中的表现

AI模型评估指标&#xff1a;InstantID在各项基准测试中的表现 【免费下载链接】InstantID 项目地址: https://ai.gitcode.com/hf_mirrors/InstantX/InstantID InstantID作为一款领先的AI模型&#xff0c;在多项基准测试中展现出卓越性能。本文将深入解析其在各项评估指…...

GTE-Base-ZH一键部署教程:3步在Ubuntu上搭建语义检索服务

GTE-Base-ZH一键部署教程&#xff1a;3步在Ubuntu上搭建语义检索服务 想给自己的应用加个智能搜索功能&#xff0c;但一看到复杂的模型部署就头疼&#xff1f;别担心&#xff0c;今天咱们就来聊聊怎么用最简单的方法&#xff0c;在Ubuntu系统上把GTE-Base-ZH这个强大的中文语义…...

TP4056充电板实战避坑指南:从LED状态误判到TEMP脚悬空,新手最容易踩的5个坑

TP4056充电板实战避坑指南&#xff1a;从LED状态误判到TEMP脚悬空&#xff0c;新手最容易踩的5个坑 第一次使用TP4056充电板时&#xff0c;我盯着闪烁的LED灯陷入了困惑——为什么充满电后红灯还亮着&#xff1f;为什么电池发热异常&#xff1f;这些问题让我意识到&#xff0c;…...

Qwen2.5-0.5B手机AI入门:从下载到对话,30分钟全搞定

Qwen2.5-0.5B手机AI入门&#xff1a;从下载到对话&#xff0c;30分钟全搞定 1. 为什么选择Qwen2.5-0.5B-Instruct&#xff1f; 在移动设备上运行AI大模型听起来像是科幻场景&#xff0c;但Qwen2.5-0.5B-Instruct让它变成了现实。这个由阿里通义实验室开源的轻量级语言模型&am…...

LangGraph多智能体框架:构建持久化AI智能体的终极指南 [特殊字符]

LangGraph多智能体框架&#xff1a;构建持久化AI智能体的终极指南 &#x1f680; 【免费下载链接】langgraph Build resilient language agents as graphs. 项目地址: https://gitcode.com/GitHub_Trending/la/langgraph 在当今快速发展的AI领域&#xff0c;多智能体框架…...

实战派指南:用MaPLe思路优化你的CLIP下游任务,附关键配置与避坑建议

实战派指南&#xff1a;用MaPLe思路优化你的CLIP下游任务&#xff0c;附关键配置与避坑建议 当CLIP遇上业务场景&#xff0c;90%的开发者都会遇到相同的问题&#xff1a;模型在新类别上的表现总是不尽如人意。上周团队用默认参数跑跨模态检索任务时&#xff0c;基类准确率82%的…...

2026 年提词器 App 的新方向:AI 改稿 + 语速匹配,正在重新定义“读稿“这件事

核心结论&#xff1a;2026 年提词器 App 已经从"滚字幕"进化到"懂你怎么说"。AI 语速匹配、智能跟读、违禁词检测正在成为新标配&#xff0c;而在综合体验上&#xff0c;拍摄提词器是目前把这些能力整合得最完整的一款产品。一、提词器 App 正在经历一次代…...

Jimeng LoRA环境部署教程:Python+Torch+CUDA兼容性避坑与版本匹配指南

Jimeng LoRA环境部署教程&#xff1a;PythonTorchCUDA兼容性避坑与版本匹配指南 1. 项目简介 Jimeng LoRA&#xff08;即梦LoRA&#xff09;是一个专门为LoRA模型测试设计的轻量级文本生成图像系统。这个项目的核心价值在于它能让你只用加载一次基础模型&#xff0c;然后快速…...

2026最权威的六大降重复率工具解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 飞速发展的人工智能技术&#xff0c;正深切地重塑着学术写作的范式&#xff0c;当下&#xf…...

如何永久保存微信聊天记录?WeChatMsg终极指南让你重获数据掌控权

如何永久保存微信聊天记录&#xff1f;WeChatMsg终极指南让你重获数据掌控权 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trendin…...