如何在Python中清除屏幕?

2024-03-28 09:17:23 发布

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

我知道有很多其他的问题在问同样的问题,但没有一个对我有效,我不能评论求助。他们只是不适合我。我试过各种各样的东西!我在Mac电脑上,用Pycharm和我认为是最新的Python(3版)一起使用,但我不确定。在

1)Cmd+L不起作用。在

(二)

import os
clear = lambda: os.system('clear')
clear()
well = input("The screen is not clear.")

显示“TERM环境变量未设置。”

(三)

^{pr2}$

说了同样的话。在

4)这个

    import subprocess, platform

    if platform.system()=="Windows":
        subprocess.Popen("cls", shell=True).communicate()
    else: #Linux and Mac
        print("\033c", end="")

在最后一行打印一个c。在

我做错什么了?我尝试了以上所有的方法,使用了clear和cls的所有可能的组合。为了确定这不是我的Pycharm,我尝试了所有空闲python3.7.2。我完全拒绝\n 100次。有什么建议吗?:)


Tags: lambdaimportcmdinputosmac评论system
2条回答

我相信这个主题更与PyCharm相关,你可以在PyCharm中创建你自己的键盘快捷键来清除屏幕,就好像它在控制台或cmd上一样:

  1. 打开Pycharm首选项
  2. 搜索:“全部清除”
  3. 双击“清除全部”->;添加键盘快捷键(将其设置为CMD+L或任何您想要的)
  4. 在使用快捷方式之前,请确保在控制台(或运行窗口)中单击,否则它不会执行任何操作。在

在类Unix的系统中,控制台窗口是一个字符设备,可以是GUI窗口中的任何内容,也可以是实际终端。不同类型的“设备”需要不同的方法来清除屏幕。通常,当shell在终端中启动时,TERM环境变量被设置为一个值,该值指示终端是什么类型的,而清除屏幕的例程会参考此值来确定要写入哪些字符以清除它。在

如果您在Mac终端窗口中尝试第一个解决方案,它将清除屏幕。如果您在不使用Python的情况下尝试,但是取消设置TERMINAL环境变量,那么即使是系统“clear”命令也不会知道如何清除屏幕:

$ echo $TERM
xterm-256color
$ unset TERM
$ clear
TERM environment variable not set.

您遇到的问题不是Python特有的,而是PyCharm终端窗口的问题,它似乎没有设置这个环境变量。在

可能是PyCharm终端窗口不支持ANSI或其他清除屏幕的序列。它does appear to support至少有一些彩色文本的转义序列。可能是因为它没有正确设置环境变量。您可以在终端中尝试export TERM=ansi,然后然后尝试运行clear命令,看看是否有效。在

您可以尝试的另一种方法是使用Click以独立于设备和平台的方式清除屏幕。一般来说,点击相当不错。例如,即使在终端中取消设置TERM之后,以下命令仍然适用:

^{pr2}$

相关问题 更多 >