Python-更优雅地清除终端屏幕

Python-更优雅地清除终端屏幕,第1张

Python-更优雅地清除终端屏幕
print "33c"

在我的系统上工作。

您还可以缓存

clear
命令产生的清晰屏幕转义序列

import subprocessclear_screen_seq = subprocess.check_output('clear')

然后

print clear_screen_seq

任何时候您想清除屏幕。

tputclear
POSIX中定义了产生相同序列的命令。

您可以使用

curses
,以获取序列:

import cursesimport sysclear_screen_seq = b''if sys.stdout.isatty():    curses.setupterm()    clear_screen_seq = curses.tigetstr('clear')

其优点是,你不需要调用

curses.initscr()
所需获得具有窗口对象
.erase()
.clear()
方法。

要在Python 2和3上使用相同的源,可以使用

os.write()
函数:

import osos.write(sys.stdout.fileno(), clear_screen_seq)

clear
我系统上的命令还尝试使用清除清除回滚缓冲区
tigetstr("E3")

这是

clear.c
命令的完整Python端口:

#!/usr/bin/env python"""Clear screen in the terminal."""import cursesimport osimport syscurses.setupterm()e3 = curses.tigetstr('E3') or b''clear_screen_seq = curses.tigetstr('clear') or b''os.write(sys.stdout.fileno(), e3 + clear_screen_seq)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5646383.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存