这几乎是python 中的clearterminal的重复,但不完全一样。
这个问题是:是否存在任何标准的“自带电池”方法来从 python 脚本中清除终端屏幕,或者我必须去诅咒(库,而不是单词)?
当您在终端上输入时,所有响应都会导致发生的情况clear
- 除了最顶部的空命令行之外,屏幕上的所有内容都会消失。但是,如果您愿意,可以向上滚动以查看之前所做的事情。
我正在寻找一种方法来做到这一点,但不允许用户向上滚动。这相当于什么command+K
。
该应用程序是一款多人纸牌游戏,我不希望玩家能够向上滚动以查看其他玩家的手牌。
您可以使用subprocess.call()
标准库subprocess
模块将命令发送reset
到终端,这将重新初始化终端,实际上执行类似的操作clear
,但也会清除回滚历史记录。
import subprocess
subprocess.call('reset')
Run Code Online (Sandbox Code Playgroud)
或者,我从这个答案中了解到,您可以使用该命令tput reset
,这将立即清除终端,而单独使用该命令reset
您会遇到轻微的延迟。也可以这样调用subprocess.call()
:
subprocess.call(['tput', 'reset'])
Run Code Online (Sandbox Code Playgroud)
有关该reset
命令的更多信息,请执行以下操作:
$ man reset
Run Code Online (Sandbox Code Playgroud)
有关该subprocess
模块的更多信息,请参阅文档。
我已经在 Ubuntu 上测试了这两个版本,但希望它们也能在 OSX/macOS 上运行。如果没有,也许您可以subprocess
与此解决方案结合使用,但我无法对此进行测试。
归档时间: |
|
查看次数: |
7649 次 |
最近记录: |