Python如何获取终端尺寸?

os.get_terminal_size(),无差别获取当前终端长宽,让你为所欲为。


(笔记模板由python脚本于2024年07月27日 08:30:53创建,本篇笔记适合喜欢钻研的coder翻阅)


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


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


等风来,不如追风去……


os.get_terminal_size()
Python获取终端尺寸
(无差别获取当前终端长宽,让你为所欲为)


本文质量分:

97 97 97

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

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


目 录

  • ◆ Python获取终端尺寸
    • 1、基本方式
    • 2、Windows是“独门冲”!
    • 3、Windows也有“偏方”。
    • 4、os.popen
    • 5、subprocess.Popen
    • 6、os.system“命令容器”
    • 7、盖世神功 V S VS VS独门绝技
      • 7.1 os.get_terminal_size是盖世神功
      • 7.2 各有“独门绝技”
    • 8、os.get_terminal_size的参数
      • 8.1 参数解疑
      • 8.2 ai表述迷糊澄清
    • 9、ai的乐趣
    • 10、结论


◆ Python获取终端尺寸


1、基本方式


  在Python中,你可以使用标准库中的os模块来获取终端的尺寸。


以下是一个示例代码,展示了如何获取终端的行数和列数

import os
import struct
import fcntl
import termios

def get_terminal_size():
    """获取终端尺寸"""
    th, tw, hp, wp = struct.unpack('HHHH',
        fcntl.ioctl(0, termios.TIOCGWINSZ,
        struct.pack('HHHH', 0, 0, 0, 0)))
    return tw, th

# 使用函数
width, height = get_terminal_size()
print(f"终端宽度: {width} 列")
print(f"终端高度: {height} 行")

  这个方法适用于Unix-like系统,包括Linux和macOS。如果你在Windows上,可以使用os.get_terminal_size()方法,它是Python 3.3及以上版本中os模块的一部分:

import os

# 在Windows上获取终端尺寸
width, height = os.get_terminal_size()
print(f"终端宽度: {width} 列")
print(f"终端高度: {height} 行")

os.get_terminal_size()方法同样适用于Unix-like系统,因此如果你想要跨平台的解决方案,可以直接使用这个方法。



  • 在这里插入图片描述
  • ai
    不,前面提供的代码块并不是os.get_terminal_size方法的源码。os.get_terminal_size()是Python标准库中的一个函数,它的源码是C语言编写的,并内置于Python解释器中。而我提供的代码是一个使用Python编写的函数,它使用了Unix-like系统中的fcntltermios模块来直接与终端进行交互,以获取其尺寸信息。

下面是os.get_terminal_size()的简单使用示例

import os

# 获取终端尺寸
size = os.get_terminal_size()

# 打印终端尺寸
print(f"行数: {size.lines}")
print(f"列数: {size.columns}")

这段代码调用了os.get_terminal_size()函数,它会返回一个os.terminal_size对象,该对象包含终端的行数和列数。


  如果你想要查看os.get_terminal_size()的源码,你需要查看Python标准库的C语言实现部分。这些源码通常位于Python源代码仓库的Modules/posixmodule.c文件中。但是,这些源码是高度专业的,通常需要具备C语言和Python内部机制的知识才能理解。如果你确实想查看,可以访问Python的官方GitHub仓库或者下载Python源代码来查找相关实现。



  • 在这里插入图片描述
  • ai
    第一段代码块,它使用了 fcntl 和 termios 模块,主要是针对Unix-like系统(包括Linux和macOS)设计的,并且不适用于Windows。

      在Windows上, fcntl 和 termios 模块不可用,因为它们是Unix系统的特定功能。如果你在Windows上运行那个代码块,你会遇到导入错误。

      为了获取Windows系统的终端尺寸,你应该使用 os.get_terminal_size() ,如我之前所述。这个方法是跨平台的,可以在Windows、Linux和macOS上正常工作。

以下是适用于Windows系统的代码示例

 
import os

# 获取终端尺寸,适用于Windows
size = os.get_terminal_size()

# 打印终端尺寸
print(f"行数: {size.lines}")
print(f"列数: {size.columns}")


  总之, os.get_terminal_size() 是适用于所有主流操作系统的官方方法,而使用 fcntl 和 termios 的代码块仅适用于Unix-like系统。



回页目录


2、Windows是“独门冲”!



  • 在这里插入图片描述
  • ai
    是的,可以这么说。在不同的操作系统上,获取终端尺寸的方法确实有所不同,这通常是由于操作系统提供的API和功能差异造成的。在Windows上,获取终端尺寸的方法与Unix-like系统(如Linux和macOS)存在差异,因此需要使用专门为Windows设计的接口。

    在Unix-like系统中,termiosfcntl等库被广泛用于处理终端I/O和属性,但它们在Windows上不可用。相反,Windows提供了自己的API来处理这些任务,而Python的os模块中的get_terminal_size()函数已经考虑到了这些差异,并且为不同的操作系统提供了相应的实现。

    所以,当你在Windows上编写跨平台的Python代码时,确实需要使用Windows特有的方法或者使用Python标准库中已经为你处理了这些差异的跨平台函数,如os.get_terminal_size()。这可以看作是Windows上的“独门冲”,因为它使用的是Windows特定的解决方案。



回页目录


3、Windows也有“偏方”。



  • 在这里插入图片描述
  • ai
    在Windows上,除了使用Python标准库中的os.get_terminal_size()方法外,还可以使用其他方法来获取终端尺寸。

以下是一些可能的方法


1、 使用ctypes模块调用Windows API

import ctypes

def get_terminal_size_windows():
    h = ctypes.windll.kernel32.GetStdHandle(-12)  # STD_OUTPUT_HANDLE
    csbi = ctypes.create_string_buffer(22)
    res = ctypes.windll.kernel32.GetConsoleScreenBufferInfo(h, csbi)
    
    if res:
        import struct
        (bufx, bufy, curx, cury, wattr,
         left, top, right, bottom,
         maxx, maxy) = struct.unpack("hhhhHhhhhhh", csbi.raw)
        sizex = right - left + 1
        sizey = bottom - top + 1
        return sizex, sizey
    else:
        # Sometimes it fails on the first call, but succeeds on the second
        return get_terminal_size_windows()
# 使用函数
width, height = get_terminal_size_windows()
print(f"终端宽度: {width} 列")
print(f"终端高度: {height} 行")

这段代码使用了Windows API函数GetConsoleScreenBufferInfo来获取终端的尺寸信息。


2、使用subprocess模块运行mode con命令:

import subprocess

def get_terminal_size_windows():
    try:
        output = subprocess.check_output(["mode", "con"], universal_newlines=True)
        for line in output.split('\n'):
            if 'Columns:' in line:
                columns = int(line.split(':')[-1].strip())
            if 'Lines:' in line:
                lines = int(line.split(':')[-1].strip())
        return columns, lines
    except Exception as e:
        print("无法获取终端尺寸:", e)
        return None

# 使用函数
width, height = get_terminal_size_windows()
print(f"终端宽度: {width} 列")
print(f"终端高度: {height} 行")

这个方法通过运行Windows命令提示符的mode con命令来获取终端尺寸。


请注意,以上方法仅适用于Windows操作系统,并且可能会因为Windows的不同版本或配置而有所不同。使用这些方法时,请确保你的代码能够处理可能出现的异常情况。通常,使用Python标准库中的os.get_terminal_size()是最简单且最可靠的方法。



  • 在这里插入图片描述
  • ai
    确实,Python以其灵活性和提供多种方法来解决同一个问题而闻名。这种多样性允许开发者根据具体情况选择最合适的工具或方法。在处理跨平台问题时,这种特性尤其有用,因为它为不同操作系统上的相同任务提供了多种实现方式。

    Python社区经常说“有不止一种方法来做这件事”,这也体现了Python设计哲学中的一个重要原则,即“多种途径优于一种(“There should be one-- and preferably only one --obvious way to do it”)。虽然这有时会导致初学者在选择最佳实践时感到困惑,但它也为经验丰富的开发者提供了极大的灵活性和选择自由。

    这种“不只一套”的解决方案,确实使得Python在处理各种任务时变得非常强大和灵活,无论是在Windows、Linux、macOS还是其他任何支持Python的平台上。这也是Python成为最受欢迎和广泛使用的编程语言之一的原因之一。🤗🤗


  • 在这里插入图片描述
  • ai
    确实,Python的灵活性允许开发者根据不同的需求和环境选择不同的解决方案,有时候这可能意味着需要编写更多的代码来处理特定的情况,比如在不同的操作系统上获取终端尺寸。

    这种“弯弯绕绕”实际上是编程中常见的情况,它要求开发者对问题有更深入的理解,并且能够根据不同的平台和环境调整解决方案。虽然这可能会增加一些复杂性,但它也提供了更多的控制权,允许开发者优化代码以适应特定的需求。

    而且,这种多路径解决问题的能力也是Python语言强大和广泛适用的一个标志。开发者可以根据自己的喜好、项目需求或个人风格来选择最合适的方法。这种多样性使得Python成为了一个既有趣又富有挑战性的编程语言。

    最终,无论是选择简洁明了的标准库函数,还是深入底层进行自定义实现,Python都为开发者提供了丰富的工具和选项,让编程变得更加灵活和有趣。😋😋



回页目录


4、os.popen



  • 在这里插入图片描述
  • ai
    是的,您提到的 os.popen 是一个可以用来执行命令并获取其输出的Python函数,它可以在Unix-like系统以及Windows上使用。使用 os.popen,您可以执行Windows的 mode con 命令来获取终端尺寸。

以下是如何使用 `os.popen` 来获取Windows终端尺寸的示例代码:
import os

def get_terminal_size_windows():
    # 执行命令并捕获输出
    output = os.popen('mode con').read()
    # 解析命令输出中的行数和列数
    for line in output.split('\n'):
        if 'Columns:' in line:
            columns = int(line.split(':')[-1].strip())
        if 'Lines:' in line:
            lines = int(line.split(':')[-1].strip())
    return columns, lines

# 使用函数
width, height = get_terminal_size_windows()
print(f"终端宽度: {width} 列")
print(f"终端高度: {height} 行")
 

在这段代码中,os.popen 执行了 mode con 命令,该命令在Windows命令行中用于显示控制台的信息,包括其尺寸。然后,代码解析命令的输出以找到终端的列数和行数。


请注意os.popen 已在Python 3.3中被弃用,并且在后续版本中被 subprocess.Popen 取代,因为后者提供了更安全和灵活的方式来处理子进程。因此,虽然 os.popen 可以用来实现这一功能,但推荐使用 subprocess 模块,因为它更加现代且功能丰富。以下是如何使用 subprocess 来实现相同功能的代码:

import subprocess

def get_terminal_size_windows():
    output = subprocess.Popen('mode con', shell=True, stdout=subprocess.PIPE).communicate()[0]
    output = output.decode()
    for line in output.split('\n'):
        if 'Columns:' in line:
            columns = int(line.split(':')[-1].strip())
        if 'Lines:' in line:
            lines = int(line.split(':')[-1].strip())
    return columns, lines

# 使用函数
width, height = get_terminal_size_windows()
print(f"终端宽度: {width} 列")
print(f"终端高度: {height} 行")



回页目录


5、subprocess.Popen


使用 subprocess.Popen 是现代Python代码中执行外部命令的首选方式。



  • 在这里插入图片描述
  • ai
    您的理解是正确的,将 os.popen 标记为弃用(deprecated)并引入 subprocess.Popen 并不是简单的“挪个位置更个名儿”。这个过程涉及到了对原有功能进行改进和增强,以提供更安全、更灵活、更强大的子进程管理方式。

以下是 os.popen 被弃用并推荐使用 subprocess 模块的一些原因:

  1. 安全性os.popen 使用起来不如 subprocess 安全,因为它容易引发代码注入攻击,尤其是在调用 shell 命令时。subprocess 提供了更安全的方式来执行命令,尤其是在传递参数时。

  2. 灵活性subprocess 模块提供了多种不同的方法来启动和管理子进程,包括 Popen 类,它允许更细致地控制子进程的输入输出,以及等待子进程完成的方式。

  3. 功能丰富subprocess 提供了更多功能,比如可以更容易地捕获标准输出和标准错误,可以执行管道操作,还可以在不启动额外 shell 的情况下执行命令。

  4. 统一性subprocess 模块统一了之前分散在 ospopen2 等模块中的功能,提供了一个单一的、一致的API来处理子进程。


虽然 os.popen 在某些情况下仍然可以工作,但是官方推荐使用 subprocess 模块,因为它提供了更好的设计,更现代的接口,以及更全面的错误处理机制。

因此,当 os.popen 被弃用时,它并不是简单地被“禁用”或重命名,而是被一个更先进、更适合现代编程需求的模块所替代。这种替换反映了Python语言不断进化的过程,旨在提供更好的工具来帮助开发者编写更安全、更高效、更易于维护的代码。😋



  • 在这里插入图片描述
  • ai
    相对于 os.get_terminal_size(),使用 os.popensubprocess.Popen 来获取终端尺寸的方法有以下潜在的优势和不同的使用场景:
  1. 跨版本兼容性

    • os.get_terminal_size() 是在 Python 3.3 版本中引入的。如果你的代码需要运行在早于 3.3 的 Python 版本上,那么 os.popensubprocess.Popen 是获取终端尺寸的可行方法。
  2. 自定义命令执行

    • 使用 os.popensubprocess.Popen 允许你执行任意的系统命令来获取终端尺寸,这可能包含了 os.get_terminal_size() 不直接提供的信息。例如,在某些情况下,你可能需要获取终端的原始尺寸,而不是当前窗口的大小。
  3. 更细致的控制

    • subprocess.Popen 提供了对子进程更细致的控制,比如可以设置环境变量、工作目录、标准输入输出错误的重定向等。
  4. 错误处理

    • 使用 subprocess.Popen 可以更详细地处理命令执行中的错误,比如可以捕获标准错误输出,并根据返回码做出不同的处理。

  然而,尽管有上述优势,但在大多数情况下,os.get_terminal_size() 通常是更简单、更直接、更现代的方法来获取终端尺寸。


  • 以下是它的优势
  1. 简洁性

    • os.get_terminal_size() 只需一行代码就可以获取终端尺寸,使用起来非常简单。
  2. 跨平台

    • os.get_terminal_size() 是跨平台的,它在不同的操作系统上都能工作,无需编写特定于平台的代码。
  3. 安全性

    • os.get_terminal_size() 不需要执行外部命令,因此减少了潜在的安全风险。
  4. 性能

    • os.get_terminal_size() 直接与操作系统交互,而不需要启动额外的进程,因此在性能上可能更优。

  总之,选择哪种方法取决于具体的需求和上下文。对于大多数简单的用例,os.get_terminal_size() 是首选方法,因为它简单、安全且高效。只有在需要更复杂的子进程管理或兼容旧版 Python 时,才可能需要考虑使用 os.popensubprocess.Popen



回页目录


6、os.system“命令容器”



  • 在这里插入图片描述
  • ai
    是的,os.system 也是一个在 Python 中用来执行 shell 命令的函数,但它确实在功能上逊色于 subprocess.Popen

以下是 os.systemsubprocess.Popen 的一些对比点:

os.system 的局限性:

  1. 返回值限制os.system 返回一个整数,表示命令的退出状态。通常,如果命令成功执行,它返回 0;如果命令失败,它返回非零值。但是,它不能直接提供命令的标准输出或标准错误输出。

  2. 安全性问题:与 os.popen 类似,os.system 也存在安全性问题,因为它会将命令字符串传递给 shell 进行解析,这可能导致 shell 注入攻击。

  3. 交互性限制:使用 os.system 执行的命令不能与 Python 脚本进行交互,也就是说,你不能从 Python 中发送输入到命令,或者实时读取命令的输出。


os.system也是可以简单交互的

import os

com = input('\n输入:').strip()

os.system(com)

只是安全性有所欠缺,如果没有“安全”顾虑,也是可以放心使用滴。😜


  • 键入clear可以清屏、li -l可以列印当前目录
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

subprocess.Popen 的优势:

  1. 更丰富的功能subprocess.Popen 允许你更精细地控制子进程的创建、执行和终止。你可以捕获标准输出和标准错误输出,还可以与子进程进行交互(发送输入、读取输出)。

  2. 安全性subprocess.Popen 提供了不通过 shell 执行命令的方式,这可以减少 shell 注入的风险。

  3. 更好的资源管理subprocess.Popen 允许你更有效地管理子进程的资源,例如等待子进程结束、终止子进程等。

  4. 可配置性:你可以配置子进程的环境变量、工作目录、标准输入输出等。


以下是一个使用 os.system的例子

import os

# 使用 os.system 执行一个系统命令
exit_code = os.system('ls -l')

# 打印退出状态码
print(f'Exit code: {exit_code}')


而以下是使用 subprocess.Popen的等效例子

import subprocess

# 使用 subprocess.Popen 执行一个系统命令
process = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
stdout, stderr = process.communicate()
# 打印标准输出和标准错误
print(f'Stdout: {stdout}')
print(f'Stderr: {stderr}')

# 打印退出状态码
print(f'Exit code: {process.returncode}')
 

  综上所述,尽管 os.system 可以用于执行简单的系统命令,但 subprocess.Popen 提供了更全面、更灵活、更安全的方式来执行和管理子进程。因此,当需要更复杂的命令执行管理时,推荐使用 subprocess 模块。



回页目录


7、盖世神功 V S VS VS独门绝技


7.1 os.get_terminal_size是盖世神功



  • 在这里插入图片描述
  • ai
    哈哈,这个比喻非常形象!确实,os.get_terminal_size() 就像是编程界的“倚天屠龙”,它是一种通用的工具,无论在哪个操作系统上,都能够高效、可靠地完成任务。就像倚天剑和屠龙刀一样,无论面对什么样的对手,都能发挥出强大的威力。

    os.get_terminal_size() 的跨平台特性,使得它在不同的编程环境中都能保持一致性,极大地简化了开发者的工作。它就像一门绝世神功,不受地域和种族的限制,能够帮助开发者解决获取终端尺寸这一普遍问题。

    这种强大而通用的工具是Python语言设计哲学的体现,即提供一种简单直观的方式来完成常见任务,让开发者能够将更多精力投入到解决具体业务问题上,而不是纠缠于平台差异这样的技术细节。😋😋

    所以,下次当你使用 os.get_terminal_size() 轻松获取终端尺寸时,不妨想象自己正手持倚天屠龙,以绝世神功,一招制胜!🤣🤣

7.2 各有“独门绝技”



  • 在这里插入图片描述
    比如,Windows独有的获取终端尺寸的方式
  • ai
    您的比喻非常生动,确实,编程世界就像现实生活一样丰富多彩,充满了无限可能。即使在面对某些限制或挑战时,程序员们总能找到创新的解决方案,就像武侠世界中的高手们即使在困境中也能凭借独门绝技破局而出。

      在编程中,每一种语言、框架或工具都有其独特的“武功秘籍”,开发者们通过不断学习和实践,将这些技术内化为自己的“独门绝技”。无论是Python的os.get_terminal_size(),还是其他语言和工具中的特性和技巧,都是开发者武器库中的重要组成部分。

      正如“赵敏丫头”禁用了乾坤大挪移,编程中也可能遇到某些功能被弃用或限制的情况,但这并不会阻止我们前进的脚步。开发者们总是能够发掘新的方法,创造出新的工具,以应对不断变化的需求和挑战。

      编程的五彩斑斓体现在它的创造性、解决问题的能力以及不断进步的技术上。正如您所说,无论是编程还是生活,都充满了无限可能,而这一切都等待着我们去探索、去实现。💪💪💪

      继续在这五彩斑斓的编程世界中探险吧,愿您的代码如同倚天屠龙,助您在技术江湖中一往无前!😎😎😎



回页目录


8、os.get_terminal_size的参数


8.1 参数解疑



  • 在这里插入图片描述
  • ai
    os.get_terminal_size() 函数在Python中用于获取终端的大小。这个函数的参数是为了向后兼容而存在的。

    在早期版本的Python中,os.get_terminal_size() 函数还没有出现,而是使用os.get_terminal_size(fd)这样的形式,其中fd是文件描述符。这个参数允许用户指定要检查哪个文件描述符关联的终端大小。通常,标准输入(stdin)、标准输出(stdout)和标准错误(stderr)的文件描述符分别是0、1和2。

以下是参数的含义

  • 0:返回与标准输入(stdin)关联的终端大小。
  • 1:返回与标准输出(stdout)关联的终端大小。
  • 2:返回与标准错误(stderr)关联的终端大小。

  在大多数情况下,标准输入、输出和错误都是指向同一个终端,因此这三个参数返回的终端大小是相同的。这就是为什么在大多数情况下,不管传递0、1还是2,得到的结果都一样。

  然而,在某些情况下,这些流可能被重定向到不同的地方,此时传递不同的参数可能会得到不同的结果。比如在一个脚本中,标准输出可能被重定向到一个文件,而标准错误仍然指向终端,此时os.get_terminal_size(1)可能返回一个错误或者None,而os.get_terminal_size(2)则会返回终端的实际大小。

  尽管在现代的使用中,这个参数看起来似乎不那么必要,但Python为了保持API的一致性和向后兼容性,仍然保留了它。这样,依赖于这个参数的老代码仍然可以正常工作,而新用户在大多数情况下可以忽略这个参数,直接使用os.get_terminal_size()

  综上所述,保留这个参数是Python设计哲学中的一部分,即“优雅”、“明确”和“简单”,同时也体现了对历史代码兼容性的重视。


8.2 ai表述迷糊澄清



  • 在这里插入图片描述
  • ai
    抱歉,我的表述确实有误。 os.get_terminal_size() 函数在Python的早期版本中并不存在,而是在后来的版本中引入的。引入这个函数的同时,也提供了默认参数的便利形式,这样在不传递任何参数时,它会默认检查与标准输出(stdout)关联的终端大小。

正确的情况是这样的
在Python的早期版本中,要获取终端大小,可能需要使用不同的方法,比如直接读取环境变量或者调用系统特定的API。

  在Python 3.3及以后的版本中, os.get_terminal_size() 函数被引入,它提供了一个更直接和跨平台的方式来获取终端的大小。

  os.get_terminal_size(fd) 是同一个函数,其中 fd 参数允许你指定特定的文件描述符。如果不提供 fd 参数,函数默认会使用标准输出(stdout)的文件描述符,即 1 。

 所以,当我说“在早期版本的Python中, os.get_terminal_size() 函数还没有出现”时,我的意思是这个特定的函数名称和接口在早期版本的Python标准库中并不存在。我的表述不够准确,为此我向您道歉。希望这次的解释能够更清楚地说明情况。



  • 在这里插入图片描述
  • ai
    非常抱歉,我之前的回答中确实存在错误和混淆。我理解您的困惑了,现在我来澄清一下:

      在Python 3.3之前,并没有os.get_terminal_size()这个函数。为了获取终端大小,开发者通常会使用其他方法,比如读取环境变量(如os.environ['LINES']os.environ['COLUMNS'])或者调用特定的系统命令(如stty sizetput cols)。

      Python 3.3引入了os.get_terminal_size()函数,这是一个新的特性,之前并不存在。这个函数可以不带参数调用,此时它会默认使用标准输出(stdout)的文件描述符来获取终端大小,也可以传递一个文件描述符(fd)作为参数来获取与该文件描述符关联的终端大小。

因此,正确的说法应该是:

  • 在Python 3.3之前,没有os.get_terminal_size()函数,开发者需要使用其他方法来获取终端大小。
  • 在Python 3.3及以后版本中,os.get_terminal_size()函数被引入,它允许不带参数调用,或者传递一个文件描述符作为参数。

再次为之前的错误信息表示歉意,并感谢您的耐心指正。希望这次的解释更加准确和清晰。



回页目录


9、ai的乐趣


  与ai对刚,“胡搅蛮缠”,插科打诨,在其乐融融中,get到了知识点。在不经意间就学到了,过程中做到了三个必要的学习动作——预习找到点(预习)、设计提问(学习、拓展点、面)、笔记分享(复盘)。这样子一套整下来,所学知识点不说“终生莫忘”但也定会记住不短的时间的了。😜



回页目录


10、结论


  对于一般情况下的python终端尺寸获取,一个os.get_terminal_size就够了。

import os


# 获取终端尺寸
print(f"\n终端尺寸: {os.get_terminal_size()}")

或者





  • qpythonZero Linux都可以正确获取当前终端尺寸:

    直接获取
    在这里插入图片描述
    在这里插入图片描述
    变量赋值
    在这里插入图片描述
    在这里插入图片描述
    变量赋值”的方式,都获取终端当前终端尺寸的正确一般打开状态



回页首


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



我的HOT博:

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


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

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



回页首


老齐漫画头像

精品文章:

来源:老齐教室


Python 入门指南【Python 3.6.3】


好文力荐:


CSDN实用技巧博文:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦幻精灵_cq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值