有没有办法清除python的IDLE窗口?

问题描述 投票:133回答:24

我知道有关python控制台的类似主题,但我不知道它们是否相同。我尝试了系统(“清除”),它在这里不起作用。

如何清除python的IDLE窗口?

python python-idle
24个回答
91
投票

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

print "\n" * 100

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

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

然后在需要时将其称为cls()


3
投票

MAC OS X的“command + L”。

Ubuntu的“控制+ L”

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


2
投票

在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

2
投票

你可以制作一个AutoHotKey脚本。

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

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

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


2
投票

我喜欢用:

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

clear()

2
投票

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

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

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


2
投票

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

而且轻巧!


1
投票

用这个

for num in range(1,100):
    print("\n")

1
投票

没有任何外部库,似乎不可能做到这一点。

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

  • 键入python并按Enter键将Windows命令提示符转为python idle(确保安装了python)。
  • 键入quit()并按Enter键将其返回到Windows命令提示符。
  • 键入cls并按Enter键以清除命令提示符/ windows shell。

0
投票

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

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

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


0
投票

如果要清除shell缓冲区,请转到shell>在IDLE中重新启动shell。你的问题有点模糊。您要清除shell缓冲区还是要调用OS命令?


72
投票

os.system('clear')适用于Linux。如果您正在运行Windows,请尝试使用os.system('CLS')

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

import os

0
投票

这适用于Windows:

print chr(12)


0
投票
from subprocess import call as c

def cls():

    c("cls",shell=True)

print([x for x in range(10000)])

cls()

每当您希望清除控制台调用函数cls时,请注意,只有在使用cmd提示符运行Python脚本时,此功能才会清除Windows中的屏幕,如果您通过IDLE运行,它将不会清除缓冲区。


-1
投票

您的屏幕截图显示您正在使用IDLE。 cls / clear不适合你。


-3
投票

如果你正在使用终端(我正在使用ubuntu),那么只需使用键盘上的CTRL + l组合清除python脚本,即使它清除了终端脚本......


-3
投票

没有必要编写自己的函数来执行此操作! Python具有内置的清晰功能。

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

shell.clear()

如果在Windows上使用IPython,那就是

cls()

36
投票

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


30
投票

这里出现的大多数答案都是清除DOS提示屏幕清除命令。这不是问题。这里发布的另一个答案是打印空白行以显示屏幕的清除效果。

这个问题最简单的答案是

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


18
投票

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


14
投票
>>> import os

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

这样做很完美。也没有打印'0'。


8
投票

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


8
投票

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

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

如果你在python控制台中执行它,你需要做一些事情来隐藏返回值(对于os.systemsubprocess.call),比如将它分配给变量:

cls = subprocess.call("cls", shell=True)

3
投票

文件 - >新窗口

在新窗口中**

运行 - > Python Shell

此方法的问题在于它将清除您定义的所有内容,例如变量。

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

打开命令提示符

输入“cd c:\ python27”

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

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.