python实现对终端信息的清屏或者部分行清除

2023-12-21 14:43:36

有些时候我们看到部分工具能够在给出提示项或者下载库信息的时候,有点类似滚动的效果,其实就是清除了一些行的字符信息。虽然我总结的不是很全,但是就我知道的方式而言,总结了下面的一些方法实现工具,仅供参考:

1. 清全屏

1.1 第三方库

from prompt_toolkit.shortcuts import clear

# 清屏
clear()

1.2 自己实现

import sys


def clear_console():
    sys.stdout.write("\033[2J\033[H")

2. 清除部分行

ANSI码的参考: https://gist.github.com/fnky/458719343aabd01cfb17a3a4f7296797

import sys


def clear_lines(num_lines: int):
    # Move the cursor up 'num_lines' lines
    sys.stdout.write("\033[{}A".format(num_lines))
    # Clear the lines
    sys.stdout.write("\033[2K" * num_lines)
    # Move the cursor back to the beginning of the first cleared line
    sys.stdout.write("\033[{}G".format(0))
    sys.stdout.flush()

以上方式都可以实现对终端字符的清理,同时参考上面的那个 ANSI 码的链接,你还可以自定义更多其他功能。

文章来源:https://blog.csdn.net/a15561415881/article/details/135128981
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。