由bext安装“异常”引出的话题:windows上转义字符的工作原理

news2024/9/23 17:20:40

由bext安装“异常”引出的话题:Windows上转义字符的工作原理,与ai“闲扯”不经意学习知识点。


(笔记模板由python脚本于2024年07月25日 19:21:13创建,本篇笔记适合喜欢用ai学习的coder翻阅)


【学习的细节是欢悦的历程】

  • Python 官网:https://www.python.org/

  • Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
    地址:https://lqpybook.readthedocs.io/


  自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
            —— 华罗庚


  • My CSDN主页、My HOT博、My Python 学习个人备忘录
  • 好文力荐、 老齐教室
等风来,不如追风去……


由bext安装“异常”引出的话题
Windows的转义字符
(与ai“闲扯”不经意学习知识点)


本文质量分:

96 96 96

本文地址: https://blog.csdn.net/m0_57158496/article/details/140651356

CSDN质量分查询入口:http://www.csdn.net/qc


目 录

  • ◆ Windows上转义字符的工作原理
    • 1、bext模块
    • 2、我的关于\033[xxm的笔记
    • 3、ansi转义字符“\033[2J”清屏
    • 4、colorama助力windows使用转义字符
      • 1. 初始化阶段
      • 2. 转义序列的处理
      • 3. 输出处理
      • 4. 恢复原始状态
    • 5、python对*.dll中函数的调用
    • 6、windows对编程语言不太“亲近”
      • 6.1 系统架构和设计哲学
      • 6.2 开发工具和库
      • 6.3 系统集成和兼容性
      • 6.4 社区支持
    • ...... A I AI AI让学习如虎添翼......


◆ Windows上转义字符的工作原理


1、bext模块


  • bext
    在这里插入图片描述

简单模拟bext

import os
import sys

# 简单的颜色代码映射
COLORS = {
    'black': '30',
    'red': '31',
    'green': '32',
    'yellow': '33',
    'blue': '34',
    'magenta': '35',
    'cyan': '36',
    'white': '37',
}

def clear_screen():
    """清除屏幕"""
    if os.name == 'nt':  # 如果是Windows系统
        os.system('cls')
    else:  # 如果是Linux或Mac系统
        os.system('clear')

def set_color(color):
    """设置文本颜色"""
    if color in COLORS:
        print(f"\033[{COLORS[color]}m", end="")

def reset_color():
    """重置文本颜色"""
    print("\033[0m", end="")

# 使用示例
clear_screen()
set_color('red')
print("这是一段红色的文字。")
reset_color()

set_color('green')
print("这是一段绿色的文字。")
reset_color()

  这个代码段定义了几个函数来模拟 bext 的基本功能。clear_screen 函数用于清除终端屏幕,set_color 函数用于设置文本颜色,reset_color 函数用于重置文本颜色到默认状态。

请注意,这段代码可能不适用于所有终端,因为它依赖于ANSI转义序列,有些终端可能不支持这些序列。如果你的终端不支持这些颜色设置,你可能需要查找其他方法来实现相同的功能。



回页目录


2、我的关于\033[xxm的笔记


  • 我关于用\033[转义字符控制颜色的学习笔记
  1. 我的 Python.color() (Python 色彩打印控制)
    地址:https://blog.csdn.net/m0_57158496/article/details/123194259
    浏览阅读:5.5k
    点赞:2 收藏:8 
    (本篇笔记于2022-02-28 22:46:21首次发布,最后修改于2022-03-03 10:30:03)

  2. 神奇的 \\033 ,让打印出彩
    地址:https://blog.csdn.net/m0_57158496/article/details/122953893
    浏览阅读:4.1k
    点赞:3 收藏:13 
    (本篇笔记于2022-02-15 23:01:54首次发布,最后修改于2022-02-20 13:24:21)

  3. 彩色文字界面尼姆游戏(Python类 + mypycolor 工具协作打造)
    地址:https://blog.csdn.net/m0_57158496/article/details/126559166
    浏览阅读:2.0k
    点赞:9 收藏:9 评论:15
    (本篇笔记于2022-08-27 16:33:27首次发布,最后修改于2022-10-02 06:56:05)

  4. 随机颜色彩色提示字符串展示
    地址:https://blog.csdn.net/m0_57158496/article/details/127270228
    浏览阅读:1.0k
    点赞:1 收藏:1 评论:1
    (本篇笔记于2022-10-11 20:00:05首次发布,最后修改于2022-10-11 20:09:15)

  5. 彩色文本日历牌——巧用“秒时间”(时间截时间float才是日期数据传递的最“美”格式)
    地址:https://blog.csdn.net/m0_57158496/article/details/140164421
    浏览阅读:745
    点赞:8 收藏:9 
    (本篇笔记于2024-07-03 23:06:50首次发布,最后修改于2024-07-04 11:50:09)

  6. 文本模式打印彩色直方统计图
    地址:https://blog.csdn.net/m0_57158496/article/details/127045609
    浏览阅读:660
    点赞:9 收藏:6 评论:14
    (本篇笔记于2022-09-26 00:22:46首次发布,最后修改于2022-10-02 06:53:25)

  7. 彩色文本进度条
    地址:https://blog.csdn.net/m0_57158496/article/details/133280609
    浏览阅读:326
    收藏:1 
    (本篇笔记于2023-09-25 22:32:26首次发布,最后修改于2023-09-26 21:42:35)


回页目录


3、ansi转义字符“\033[2J”清屏


  • 清屏转义字符串
    在这里插入图片描述

  • windows中,如何设置对“\033[2J”清屏的支持?

      在Windows系统中,默认的命令提示符(cmd.exe)和PowerShell可能不完全支持ANSI转义序列,这导致像\033[2J这样的清屏命令可能不会按预期工作。但是,从Windows 10的版本1607开始,微软为命令提示符增加了对ANSI转义序列的支持。

要启用ANSI转义序列支持,您需要做以下几步

1、对于Windows 10版本1607及更高版本

  • 打开注册表编辑器:
    按下Win + R键,输入regedit,然后按Enter
  • 导航到以下注册表项:
    HKEY_CURRENT_USER\Console
    
  • 添加新的DWORD(32位)值:
    • 在右侧空白处右键点击,选择新建 -> DWORD(32位)值
    • 命名为VirtualTerminalLevel
      修改值:
    • 双击新创建的VirtualTerminalLevel值。
    • 将数值数据设置为1
    • 点击确定
      重启命令提示符:
    • 关闭并重新打开命令提示符窗口。
      现在,您的命令提示符应该能够处理ANSI转义序列,包括\033[2J清屏命令。

2、对于PowerShell

   P o w e r S h e l l PowerShell PowerShell在Windows 10的某些版本中默认支持ANSI转义序列,但是您可以通过以下命令来显式启用它:


$Host.UI.RawUI.BackgroundColor = 'Black'
$Host.UI.RawUI.ForegroundColor = 'White'
$Host.UI.RawUI.FlushInputBuffer()
$Host.UI.RawUI.SetBufferContents($Host.UI.RawUI.GetBufferContents())

然后,您可以在PowerShell中使用ANSI转义序列。


注意事项

  • 对于Windows 10之前的版本,您可能需要使用第三方库如colorama来支持ANSI转义序列。
  • 在某些情况下,即使开启了支持,某些ANSI转义序列可能仍然无法工作。这时,您可能需要使用Windows API调用或其他方法来实现清屏等功能。



回页目录


4、colorama助力windows使用转义字符


  如果您希望使用更简单的方法,并且不介意安装第三方库,colorama库可以自动转换ANSI转义序列,使其在Windows上工作:


from colorama import init
init()
print("\033[2J\033[H")  # 现在应该可以在Windows的命令提示符中清屏

要安装colorama,您可以使用pip:


pip install colorama


  • 我问
    在这里插入图片描述
  • ai
    当然可以。colorama库在Windows上工作的原理涉及到几个关键步骤。

以下是其工作原理的简要概述

1. 初始化阶段

当你调用colorama.init()时,colorama会执行以下操作:

  • 重定向标准输出colorama通过创建一个包装器来重定向标准输出(sys.stdout)和标准错误输出(sys.stderr),这样它就可以捕获所有写入这些流的数据。
  • 设置Windows控制台模式colorama会尝试设置Windows控制台的模式,使其能够处理ANSI转义序列。这涉及到使用Windows API来启用虚拟终端处理(VT处理),类似于前面提到的在注册表中设置VirtualTerminalLevel

2. 转义序列的处理

  • 解析ANSI转义序列:当程序尝试写入包含ANSI转义序列的文本时,colorama的包装器会拦截这些数据。它会解析这些序列,并理解它们的意义(比如设置文本颜色、移动光标等)。
  • 转换为Windows API调用:对于不支持ANSI转义序列的Windows版本,colorama会将解析后的ANSI序列转换为相应的Windows API调用。例如,设置文本颜色的ANSI转义序列会被转换为设置控制台前景色或背景色的API调用。

3. 输出处理

  • 清理转义序列:在将数据发送到标准输出之前,colorama会从数据中移除ANSI转义序列,因为Windows控制台不需要这些序列来设置样式。
  • 设置控制台属性:通过Windows API,colorama会根据解析的ANSI序列来设置控制台属性,比如颜色、光标位置等。

4. 恢复原始状态

  • 清理并恢复:当程序结束时,colorama会清理并恢复控制台的原始状态,确保控制台的行为与程序运行前一致。
    以下是colorama库处理ANSI转义序列的简化流程:
import sys
import os
# 假设这是colorama.init()的一部分
class ANSIToWin32:
    def __init__(self):
        self.win32 = None  # 假设这是Windows API接口
    def write(self, text):
        # 解析ANSI转义序列,并转换为Windows API调用
        # 例如,\033[31m -> SetConsoleTextAttribute(RED)
        self.win32.set_console_color('RED')  # 示例代码,非实际API
        # 移除ANSI转义序列
        clean_text = self.strip_ansi_codes(text)
        
        # 写入清理后的文本
        sys.__stdout__.write(clean_text)
    def strip_ansi_codes(self, text):
        # 实现去除ANSI转义序列的逻辑
        return ''.join(filter(lambda x: x not in self.ansi_codes, text))
    @property
    def ansi_codes(self):
        # ANSI转义序列的集合
        return set('\033[')
# 重定向sys.stdout
sys.stdout = ANSIToWin32()


  这个示例非常简化,实际的colorama库要复杂得多,它处理了各种ANSI转义序列,并提供了更健壮的错误处理和兼容性。colorama的源码是开源的,所以你可以直接查看它的实现细节来了解它是如何工作的。



回页目录


5、python对*.dll中函数的调用


  • 我问
    在这里插入图片描述
  • ai
    是的,您提到的 .dll 文件是 Windows 上的动态链接库文件,它们包含了可以被其他程序或脚本调用的代码和数据。在 colorama 的上下文中,这些 .dll 文件并不是脚本,而是用来执行底层系统调用的程序组件。

    colorama 库在 Windows 上工作时,通常会使用以下几个 .dll 文件:
    • kernel32.dll:这是 Windows 的核心系统库之一,提供了处理内存、输入输出操作和其他核心功能的函数。
    • user32.dll:这个库包含了用于创建和管理窗口的用户界面函数。
    • advapi32.dll:用于进行高级Windows API操作的库,比如注册表操作和权限管理。

colorama 通过以下方式使用这些 .dll 文件

  1. ctypes 库colorama 使用 Python 的 ctypes 库来加载 .dll 文件并调用它们导出的函数。ctypes 是 Python 的一个标准库,它提供了和 C 兼容的数据类型,并允许调用 DLLs 或共享库中的函数。
  2. Windows API 调用:通过 ctypescolorama 调用这些 .dll 文件中定义的函数,执行如设置控制台输出颜色、移动光标位置等操作。

以下是一个使用ctypes调用kernel32.dll中函数的简单示例


import ctypes
# 加载kernel32.dll
kernel32 = ctypes.WinDLL('kernel32')
# 调用kernel32.dll中的函数,例如:SetConsoleTitleA
kernel32.SetConsoleTitleA.argtypes = [ctypes.c_char_p]
kernel32.SetConsoleTitleA.restype = ctypes.c_int
# 设置控制台标题
title = "我的控制台"
kernel32.SetConsoleTitleA(title.encode('utf-8'))


  在这个示例中,我们使用 ctypes 加载了 kernel32.dll,并调用了 SetConsoleTitleA 函数来设置控制台的标题。

  因此,当您看到 colorama 源码中的 .dll 文件时,应该理解为这些文件是 colorama 为了在 Windows 上实现其功能所依赖的系统级组件。colorama 本身并不包含任何 .dll 文件,但它会使用 ctypes 来与这些系统 .dll 文件交互。



回页目录


6、windows对编程语言不太“亲近”


  • 我问
    在这里插入图片描述
  • ai
      您的感受是可以理解的。Windows 和 Linux 在对待编程语言和支持开发者方面确实有一些差异,这些差异主要由以下几个因素造成

6.1 系统架构和设计哲学

  • Linux:Linux 系统基于 Unix 设计哲学,它从一开始就非常注重命令行界面和脚本编程。Linux 和 Unix 系统有着深厚的开源文化背景,许多编程语言、工具和库都是首先在 Linux 上开发的。
  • Windows:Windows 系统更侧重于图形用户界面(GUI)和商业应用。虽然 Windows 也支持命令行和脚本编程,但它的许多核心功能和服务都是通过专有的 API 提供的,这有时会使得在 Windows 上进行开发比在 Linux 上更具挑战性。

6.2 开发工具和库

  • Linux:Linux 拥有广泛的开发工具和库,许多开源项目都是优先考虑 Linux 平台的。开发者通常可以轻松地通过包管理器安装和使用这些工具。
  • Windows:虽然 Windows 也在努力提供更好的开发工具支持(例如 Visual Studio、Windows Subsystem for Linux (WSL)),但有时仍然需要额外的配置和依赖来使某些开源工具和库在 Windows 上运行。

6.3 系统集成和兼容性

  • Linux:Linux 系统的集成度较高,许多编程语言和工具都是系统的一部分,因此它们之间的兼容性通常很好。
  • Windows:Windows 系统需要考虑到向后兼容性,这意味着它必须支持旧版本的软件和硬件。这有时会导致在集成新工具和语言时出现兼容性问题。

6.4 社区支持

  • Linux:Linux 拥有一个庞大的开发者社区,许多问题都有现成的解决方案和文档。
  • Windows:虽然 Windows 也有一个强大的开发者社区,但对于某些特定于 Linux 的编程任务,可能难以找到同样水平的支持和文档。

  然而,值得注意的是,微软近年来在改善 Windows 对开发者友好度方面做出了许多努力。例如,WSL 允许开发者在 Windows 上运行 Linux 环境,从而可以直接使用 Linux 工具和命令行。此外,微软也在积极支持开源项目,并改进了对 Python 等编程语言的支持。

  总的来说,虽然 Windows 和 Linux 在某些方面存在差异,但两者都在不断进步,致力于为开发者提供更好的开发体验。选择哪个平台往往取决于具体的项目需求和个人偏好。



回页目录


A I AI AI让学习如虎添翼…


  • ai让学习如虎添翼💪💪
    在这里插入图片描述


回页首


上一篇:  简单“复盘”我的笔记模板(python脚本自动生成新文章模板,快捷、统一、便宜修正。迅速作文)
下一篇: 



我的HOT博:

  本次共计收集 311 篇博文笔记信息,总阅读量43.82w。数据于2024年03月22日 00:50:22完成采集,用时6分2.71秒。阅读量不小于6.00k的有 7 7 7篇。

  • 001
    标题:让QQ群昵称色变的神奇代码
    (浏览阅读 5.9w )
    地址:https://blog.csdn.net/m0_57158496/article/details/122566500
    点赞:25 收藏:86 评论:17
    摘要:让QQ昵称色变的神奇代码。
    首发:2022-01-18 19:15:08
    最后编辑:2022-01-20 07:56:47

  • 002
    标题:Python列表(list)反序(降序)的7种实现方式
    (浏览阅读 1.1w )
    地址:https://blog.csdn.net/m0_57158496/article/details/128271700
    点赞:8 收藏:35 评论:8
    摘要:Python列表(list)反序(降序)的实现方式:原址反序,list.reverse()、list.sort();遍历,全数组遍历、1/2数组遍历;新生成列表,resersed()、sorted()、负步长切片[::-1]。
    首发:2022-12-11 23:54:15
    最后编辑:2023-03-20 18:13:55

  • 003
    标题:pandas 数据类型之 DataFrame
    (浏览阅读 9.7k )
    地址:https://blog.csdn.net/m0_57158496/article/details/124525814
    点赞:7 收藏:36 
    摘要:pandas 数据类型之 DataFrame_panda dataframe。
    首发:2022-05-01 13:20:17
    最后编辑:2022-05-08 08:46:13

  • 004
    标题:个人信息提取(字符串)
    (浏览阅读 8.2k )
    地址:https://blog.csdn.net/m0_57158496/article/details/124244618
    点赞:2 收藏:15 
    摘要:个人信息提取(字符串)_个人信息提取python。
    首发:2022-04-18 11:07:12
    最后编辑:2022-04-20 13:17:54

  • 005
    标题:Python字符串居中显示
    (浏览阅读 7.6k )
    地址:https://blog.csdn.net/m0_57158496/article/details/122163023
    评论:1

  • 006
    标题:罗马数字转换器|罗马数字生成器
    (浏览阅读 7.5k )
    地址:https://blog.csdn.net/m0_57158496/article/details/122592047
    摘要:罗马数字转换器|生成器。
    首发:2022-01-19 23:26:42
    最后编辑:2022-01-21 18:37:46

  • 007
    标题:回车符、换行符和回车换行符
    (浏览阅读 6.0k )
    地址:https://blog.csdn.net/m0_57158496/article/details/123109488
    点赞:2 收藏:3 
    摘要:回车符、换行符和回车换行符_命令行回车符。
    首发:2022-02-24 13:10:02
    最后编辑:2022-02-25 20:07:40


推荐条件 阅读量突破6.00k
(更多热博,请点击蓝色文字跳转翻阅)

  • 截屏图片
    在这里插入图片描述
      (此文涉及ChatPT,曾被csdn多次下架,前几日又因新发笔记被误杀而落马。躺“未过审”还不如回收站,回收站还不如永久不见。😪值此年底清扫,果断移除。留此截图,以识“曾经”。2023-12-31)



回页首


老齐漫画头像

精品文章:

  • 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费🆓下载。)
  • OPP三大特性:封装中的property
  • 通过内置对象理解python'
  • 正则表达式
  • python中“*”的作用
  • Python 完全自学手册
  • 海象运算符
  • Python中的 `!=`与`is not`不同
  • 学习编程的正确方法

来源:老齐教室


◆ Python 入门指南【Python 3.6.3】


好文力荐:

  • 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
  • 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
  • 靠谱程序员的好习惯
  • 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归

CSDN实用技巧博文:

  • 8个好用到爆的Python实用技巧
  • python忽略警告
  • Python代码编写规范
  • Python的docstring规范(说明文档的规范写法)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1950423.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【反转链表 II】python刷题记录

印象中,这是遍历r2了,还好没放弃。 # Definition for singly-linked list. # class ListNode: # def __init__(self, val0, nextNone): # self.val val # self.next next class Solution:def reverseBetween(self, head: Optional…

RFID温度标签: 冷链管理迈向智能化、精准化的新时代。

在现代商业和社会发展中,冷链物流扮演着至关重要的角色。它不仅涉及食品、药品等敏感物资的安全运输,更是保障公众健康与福祉的重要环节。随着人们对生鲜冷链需求的日益增长,冷链物流行业也迎来了以物联网技术为主导发展新阶段。我国冷链物流…

.NET程序集编辑器/调试器 dnSpy 使用介绍

原文链接:https://www.cnblogs.com/zhaotianff/p/17352882.html dnSpy dnSpy是一个.NET程序集调试器和编辑器。它可以用它来编辑和调试程序集,即使在没有源码的情况下。 主要功能: 调试.NET和Unity程序集 编辑.NET和Unity程序集 项目地…

Windows11安装WSL2 笔记240726

以管理员身份打开控制台输入 wsl --status wsl --status如果什么也没有,说明系统还未安装WSL , 执行 wsl --install 进行安装 wsl --install安装完成后, 再次执行 wsl --status 可看到 wsl --status 默认版本: 2 当前计算机配置不支持 WSL1。 若要使用 WSL1,请启用…

vuex学习day01-vuex简述、基于脚手架创建项目、基于脚手架创建项目

1、vuex简述 之所以采用vuex是因为当我们有多个公共状态的组件时,vue的简单性容易崩溃 (1)概念 Vuex 是Vue.js 应用程序的状态管理模式库。简单讲,vuex是vue的一个状态管理工具。 (2)作用 管理vue中的…

SSRF过滤攻击

SSRF绕过: 靶场地址:重庆橙子科技SSRF靶场 这个是毫无过滤的直接读取,但是一般网站会设置有对SSRF的过滤,比如将IP地址过滤。 下面是常用的绕过方式: 1.环回地址绕过 http://127.0.0.1/flag.php http://017700…

三目操作符

双目操作符有、-、*、/、% 单目操作符有--、、、- 三目操作符有表达式1&#xff1f;表达式2&#xff1a;表达式3 如果表达式1为真则表达式2计算否则表达式3计算&#xff0c;计算结果为整个表达式的结果 #include<stdio.h> int main() {int a 0;int b 0;scanf(&quo…

Transformer-Bert---散装知识点---mlm,nsp,较之经典tran的区别和实际应用方式

本文记录的是笔者在了解了transformer结构后嗑bert中记录的一些散装知识点&#xff0c;有时间就会整理收录&#xff0c;希望最后能把transformer一个系列都完整的更新进去。 1.自监督学习 bert与原始的transformer不同&#xff0c;bert是使用大量无标签的数据进行预训练&#…

14 集合运算符和矩阵乘法运算符@

集合的交集、并集、对称差集等运算借助于位运算符来实现&#xff0c;而差集则使用减号运算符实现。 print({1, 2, 3} | {3, 4, 5}) # 并集&#xff0c;自动去除重复元素 print({1, 2, 3} & {3, 4, 5}) # 交集 print({1, 2, 3} - {3, 4, 5}) # 差集 print({1, 2, 4, 6, …

STM32CUBEMX部署生成FreeRTOS创建LED闪烁任务

目录 一、前言 二、详细步骤 三、总结 一、前言 从本文开始&#xff0c;将会逐步介绍FreeRTOS的一些功能&#xff0c;由浅入深。本文将上手通过STM32CUBEMX快速实现FreeRTOS的移植。随后创建点灯任务。 芯片选型&#xff1a;STM32F103C8T6 二、FreeRTOS 如果你想要在单片机…

昇思25天学习打卡营第22天|munger85

LSTMCRF序列标注 我们希望得到这个模型来对词进行标注&#xff0c;B是开始&#xff0c;I是实体词的非开始&#xff0c;O是非实体词。 我们首先需要lstm对序列里token的记忆&#xff0c;和计算每个token发到crf的分数&#xff0c;发完了再退出来&#xff0c;最后形成1模型。那么…

k8s v1.30 完整安装过程及CNI安装过程总结

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G技术研究。 博客内容主要围绕…

自动灭火绳品牌怎么选?欢迎进入自动灭火时代

伴随着科技的快速发展和自动灭火技术的广泛应用&#xff0c;各种各样的自动灭火装置及自动灭火系统已经成为了保障人们生命及财产安全的重要防线。面对不断涌现的自动灭火绳品牌&#xff0c;我们该怎么选择呢&#xff1f; 第一&#xff0c;首先看自动灭火绳的材料成分。 传统的…

计算机网络知识-面试点1

1. 三握四挥 定义&#xff1a; 在计算机网络中&#xff0c;特别是TCP/IP协议中&#xff0c;“三握”指的是三次握手&#xff08;Three-way Handshake&#xff09;&#xff0c;而“四挥”则指的是四次挥手&#xff08;Four-way Handshake&#xff09;。这两个过程分别用于TCP连接…

C# dataGridView 去掉左边多出来空列

1.问题 在使用winform做界面程序时&#xff0c;dataGridView控件创建好后&#xff0c;左侧会多出一列为空&#xff0c;如何删除呢 2.解决方法 你可以在属性窗口中进行设置 如图&#xff1a; 将RowHeadersVisible 属性设置为False 或者代码设置 this.dataGridView1.RowHea…

MFC列表框示例

本文仅供学习交流&#xff0c;严禁用于商业用途&#xff0c;如本文涉及侵权请及时联系本人将于及时删除 目录 1.示例内容 2.程序步骤 3.运行结果 4.代码全文 1.示例内容 编写一个对话框应用程序CMFC_Li6_4_学生信息Dlg&#xff0c;对话框中有一个列表框&#xff0c;当用户…

使用vscode连接开发机进行python debug

什么是debug&#xff1f; 当你刚开始学习Python编程时&#xff0c;可能会遇到代码不按预期运行的情况。这时&#xff0c;你就需要用到“debug”了。简单来说&#xff0c;“debug”就是能再程序中设置中断点并支持一行一行地运行代码&#xff0c;观测程序中变量的变化&#xff…

【MySQL进阶之路 | 高级篇】锁的概述以及读写并发问题

事务的隔离性是由锁来实现的。 1. 概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。在程序开发中会存在很多线程同步的问题&#xff0c;当多个线程并发访问某个数据的时候&#xff0c;尤其是针对一些敏感的数据&#xff08;如订单&#xff0c;金额等&#xff09;&…

面试前端实习常问的关于【ES6新特性】的问题

ES6新特性 日常前端代码开发中&#xff0c;有哪些值得用 ES6 去改进的编程优化或者规范? 常用箭头函数来取代有this指向的函数常用 let 取代 var 命令常用数组/对象的结构赋值来命名变量&#xff08;结构更清晰&#xff0c;语义更明确&#xff0c;可读性更好&#xff09;在长字…

基于Delaunay三角网的平面点云面积计算(python)

1、背景介绍 三维点云密度比较高&#xff0c;可以根据点云数据精确计算物体表面面积&#xff0c;如建筑物水平占地面积、室内房间墙面面积等&#xff0c;如下图&#xff0c;这在实际应用中具有非常重要的作用。其实归根到底&#xff0c;计算上述面积&#xff0c;可以认为计算平…