是否存在任何标准的“附带电池”方法来清除Python脚本中的终端屏幕,或者我必须去诅咒(库,而不是单词)?
当前回答
在Windows中,您可以使用:
>>> import os
>>> clear = lambda: os.system('cls')
>>> clear()
其他回答
您可以对terminfo数据库进行分解,但这样做的函数无论如何都是在curses中。
对于Windows, Mac和Linux,您可以使用以下代码:
import subprocess, platform
if platform.system()=="Windows":
if platform.release() in {"10", "11"}:
subprocess.run("", shell=True) #Needed to fix a bug regarding Windows 10; not sure about Windows 11
print("\033c", end="")
else:
subprocess.run(["cls"])
else: #Linux and Mac
print("\033c", end="")
jamesnotjim为Mac测试了打印(“\033c”,end=“”),我在Linux和Windows上测试了它(它不适用于Windows,因此调用cls的其他代码)。我不记得我第一次看到使用print("\033c")和/或printf版本:subprocess.run("printf '\033c'", shell=True)。
Rolika指出,end=""将阻止它随后打印新行。
注意,新版本的Ubuntu会很好地清除屏幕(不只是向下滚动,让它看起来是清除的),不像旧版本。
注意,用ESC c ("\033c")重置终端将使光标下划线并闪烁。如果你不想这样,你可以使用这些代码将其更改为另一种风格(在GNOME Terminal 3.44.0上测试,使用VTE 0.68 +BIDI +GNUTLS +ICU +SYSTEMD):
下划线闪烁:"\033[0 q" 块闪烁:"\033[1 q" 方块:"\033[2 q" 下划线闪烁:"\033[3 q" 下划线:"\033[4 q" 细条闪烁:“\033[5 q” 细条:"\033[6q "(大于6的数字似乎也是这样)
还要注意,你可以在Linux上做以下任何事情来清除屏幕:
print("\033c", end=""): print("\u001bc", end="") print("\U0000001bc", end="") print("\x1bc", end="") subprocess.run(["clear"]) #This doesn't reset the whole terminal subprocess.run('echo -ne "\033c"', shell=True) subprocess.run('echo -ne "\ec"', shell=True) subprocess.run('echo -ne "\u001bc"', shell=True) subprocess.run('echo -ne "\U0000001bc"', shell=True) subprocess.run('echo -ne "\x1bc"', shell=True) subprocess.run("printf '\033c'", shell=True) subprocess.run("printf '\ec'", shell=True) subprocess.run("printf '\u001bc'", shell=True) subprocess.run("printf '\U0000001bc'", shell=True) subprocess.run("printf '\x1bc'", shell=True)
我相信下面的代码应该是为了清除你必须向上滚动才能看到的内容(但它很难与另一个命令一起使用而没有问题):
打印('*)
这可以做和clear以前做的一样的事情(所以你可以向上滚动查看被删除的内容,除了它不会将光标上升到顶部):
打印('**)
转义序列呢?
print(chr(27) + "[2J")
这适用于所有平台,并且在Python 2和3中都有效。
def clear(number):
for i in range(number):
print(" ")
然后输入clear(numberhere)来清除。
从操作系统导入系统;系统(清晰的)”
推荐文章
- 如何用OpenCV2.0和Python2.6调整图像大小
- 在每个列表元素上调用int()函数?
- 当使用代码存储库时,如何引用资源的相对路径
- 如何在Flask-SQLAlchemy中按id删除记录
- 在Python中插入列表的第一个位置
- Python Pandas只合并某些列
- 如何在一行中连接两个集而不使用“|”
- 从字符串中移除前缀
- 代码结束时发出警报
- 如何在Python中按字母顺序排序字符串中的字母
- 在matplotlib中将y轴标签添加到次要y轴
- 如何消除数独方块的凹凸缺陷?
- 为什么出现这个UnboundLocalError(闭包)?
- 使用Python请求的异步请求
- 如何检查一个对象是否是python中的生成器对象?