在终端中显示未存储在终端历史记录中的临时消息

2024-05-29 09:34:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建一个命令行密码文件解密脚本,该脚本将在终端窗口中显示加密文件的内容,最多持续10秒,之后文本将自动清除。在

我不太确定这类功能的正确术语是什么,如果通过正确的搜索字符串得到答案,很抱歉。在


Tags: 文件字符串答案命令行文本功能脚本终端
2条回答

您可以用ansi escape sequences清除终端。这几乎适用于所有终端仿真器(除了win32控制台)。在

import time
import sys

print '\x1b[0;0H\x1b[2J' # home cursor, clear screen
print 'terribly secret file contents'
time.sleep(2)
print '\x1b[2J'
sys.stdout.flush() # flush output buffer.

但是,如果程序的输出被重定向到一个文件,它仍然会被捕获。在

此外,您可能必须禁用终端的滚动缓冲区。在

如果只需要显示一行“secret”输出,可以使用“回车”并覆盖该行。它不会在终端历史中留下任何痕迹。在

from __future__ import print_function

import time
import sys

print("hello", end = '')
sys.stdout.flush()
time.sleep(1)
print("\rxxxxx")
sys.stdout.flush()

相关问题 更多 >

    热门问题