187

我知道关于 python 控制台有一个类似的主题,但我不知道它们是否相同。我尝试了 system("clear") ,但它在这里不起作用。

如何清除 python 的 IDLE 窗口?

4

22 回答 22

106

“cls”和“clear”是清除终端(即DOS 提示符或终端窗口)的命令。从您的屏幕截图中,您正在 IDLE 中使用 shell,它不会受到此类事情的影响。不幸的是,我认为没有办法在 IDLE 中清除屏幕。你能做的最好的就是向下滚动屏幕很多行,例如:

print ("\n" * 100)

虽然你可以把它放在一个函数中:

def cls(): print ("\n" * 100)

然后在需要时调用它cls()

于 2009-09-16T15:44:21.460 回答
104

os.system('clear')在linux上工作。如果您正在运行 Windows,请尝试os.system('CLS')改用。

您需要先导入 os ,如下所示:

import os
于 2009-09-16T11:54:59.487 回答
52

大部分答案,这里都是用清除命令清除DOS提示屏幕,这不是问题。这里的其他答案是打印空白行以显示屏幕的清除效果。

这个问题最简单的答案是

如果没有一些外部模块集成,就不可能清除 python IDLE shell。如果你真的想得到一个空白的纯新鲜外壳,只需关闭前一个外壳并再次运行它

于 2014-06-28T11:59:57.463 回答
48

ctrl+L清除 Ubuntu Linux 上的屏幕。

于 2015-03-22T00:19:55.420 回答
24

清除 shell 的扩展可以在Issue6143中作为“功能请求”找到。此扩展包含在IdleX中。

于 2011-12-02T07:04:16.477 回答
17
>>> import os

>>>def cls():
...    os.system("clear")
...
>>>cls()

这确实是完美的。也没有打印“0”。

于 2012-01-13T06:13:07.133 回答
10

似乎没有办法清除 IDLE 'shell' 缓冲区。

于 2009-09-16T20:19:45.070 回答
6

在 Python 2.4+ 中执行命令的方法是使用subprocess模块。您可以像使用os.system.

import subprocess
subprocess.call("clear") # linux/mac
subprocess.call("cls", shell=True) # windows

如果您在 python 控制台中执行此操作,则需要执行一些操作来隐藏返回值(对于os.systemor subprocess.call),例如将其分配给变量:

cls = subprocess.call("cls", shell=True)
于 2009-09-16T13:56:11.193 回答
5

文件 -> 新窗口

在新窗口中**

运行 -> Python Shell

这个方法的问题是它会清除所有你定义的东西,比如变量。

或者,您应该只使用命令提示符。

打开命令提示符

键入“cd c:\python27”

键入 "python example.py" ,当它不处于交互模式时,您必须使用 IDLE 编辑它。如果你在 python shell 中,文件 -> 新窗口。

请注意,example.py 需要与 C:\python27 或您安装了 python 的任何目录位于同一目录中。

然后从这里,您只需按键盘上的向上箭头键。您只需编辑 example.py,使用 CTRL + S,然后返回命令提示符,按向上箭头键,按 Enter。

如果命令提示符太拥挤,只需键入“clr”

“clr”命令仅适用于命令提示符,不适用于 IDLE。

于 2010-12-29T01:11:27.850 回答
5

command + L ”用于 MAC OS X。

Ubuntu 的“控制 + L ”

清除交互式会话的最后一行

于 2018-08-16T05:00:56.017 回答
5

似乎没有直接的方法可以清除 IDLE 控制台。

我这样做的一种方法是使用 exit() 作为我的 python 脚本 (.py) 中的最后一个命令。当我运行脚本时,它总是会打开一个新的控制台并在退出前提示。

优势:每次执行脚本时都会重新启动控制台。缺点:每次执行脚本时控制台都会重新启动。

于 2019-09-05T16:00:07.780 回答
5

我喜欢使用:

import os
clear = lambda : os.system('cls') # or clear for Linux

clear()
于 2016-06-13T21:15:39.500 回答
3

正如mark.ribau所说,似乎没有办法清除空闲的Text小部件。应该编辑EditorWindow.py模块并在 EditorWindow 类中添加一个方法和一个菜单项,该类执行如下操作:

self.text.tag_remove("sel", "1.0", "end")
self.text.delete("1.0", "end")

也许还有一些我不知道的标签管理。

于 2009-10-16T08:40:54.003 回答
3

没有任何外部库似乎是不可能做到的。

如果您使用的是 Windows 并且不想在每次想要清除 shell 时打开和关闭 shell,另一种方法是使用 windows 命令提示符。

  • 键入python并按回车键将 Windows 命令提示符转为 python 空闲(确保已安装 python)。

  • 键入quit()并按回车键将其转回 Windows 命令提示符。

  • 键入cls并按 Enter 以清除命令提示符/Windows shell。

于 2017-03-04T03:17:08.250 回答
2

在 Windows 7 和 IDLE 中,这些解决方案都不适合我。使用 PowerShell 结束,在其中运行 Python 并退出以在 PowerShell 中调用“cls”以清除窗口。

缺点:假设 Python 已经在 PATH 变量中。此外,这确实会清除您的 Python 变量(尽管重新启动 shell 也是如此)。

优点:保留您所做的任何窗口自定义(颜色、字体大小)。

于 2016-08-14T17:18:02.193 回答
1

在 Windows 上执行此操作的最佳方法是使用命令提示符“cmd”并访问 python 目录,命令提示符可以在开始菜单 >run>cmd 中找到

C:\>cd Python27
C:\Python27>python.exe
Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>import os
>>>os.system('cls')  #This will clear the screen and return the value 0
于 2013-05-18T08:46:42.207 回答
1

您可以制作AutoHotKey脚本。

要将 ctrl-r 设置为热键以清除 shell:

^r::SendInput print '\n' * 50 {Enter}

只需安装 AutoHotKey,将上面的内容放在一个名为 idle_clear.ahk 的文件中,运行该文件,您的热键就会处于活动状态。

于 2013-08-11T20:07:07.677 回答
1

我建议您使用Thonny IDE for Python。它的外壳具有“清除外壳”选项,您还可以跟踪在单独列表中创建的变量。即使与现代 IDE 相比,它的调试也非常好。您还可以在 python 文件中编写代码以及在同一位置访问 shell。

而且它很轻!

于 2018-04-06T11:53:48.120 回答
0

用这个

for num in range(1,100):
    print("\n")
于 2014-11-13T14:37:56.720 回答
0

Turtle can clear the screen.

#=====================================
import turtle

wn = turtle.Screen()
wn.title("Clear the Screen")

t = turtle.Turtle()
t.color('red', 'yellow')
t.speed(0)

#=====================================

def star(x, y, length, angle):
    t.penup()
    t.goto(x, y)
    t.pendown()
    t.begin_fill()
    while True:
        t.forward(length)
        t.left(angle)
        if t.heading() == 0: #===============
            break
    t.end_fill()
#=====================================
#   (  x,    y,  length, angle)
star(-360,  0,    150,    45)
t.clear()
#=====================================
于 2021-09-02T10:06:07.150 回答
-3

这在 Windows 中对我有用:

print chr(12)

于 2014-06-09T13:54:38.117 回答
-7

无需编写自己的函数来执行此操作!Python 有一个内置的 clear 函数。

在命令提示符中键入以下内容:

shell.clear()

如果IPython用于 Windows,它是

cls()
于 2013-01-23T02:12:44.977 回答