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

时间:2009-09-16 11:49:37

标签: python python-idle

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

如何清除python的IDLE窗口?

27 个答案:

答案 0 :(得分:89)

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

print "\n" * 100

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

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

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

答案 1 :(得分:69)

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

你需要首先导入os:

import os

答案 2 :(得分:36)

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

答案 3 :(得分:26)

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

这个问题最简单的答案是

  

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

答案 4 :(得分:17)

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

答案 5 :(得分:14)

>>> import os

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

确实如此。也没有打印'0'。

答案 6 :(得分:8)

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

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

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

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

答案 7 :(得分:8)

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

答案 8 :(得分:3)

命令+ L ”(对于MAC OS X)。

control + L ”(适用于Ubuntu)

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

答案 9 :(得分:2)

您可以制作AutoHotKey脚本。

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

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

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

答案 10 :(得分:2)

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

它的轻量级!

答案 11 :(得分:2)

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

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

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

答案 12 :(得分:2)

我喜欢使用:

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

clear()

答案 13 :(得分:2)

在Windows上执行此操作的最佳方法是使用命令提示符'cmd'并访问python目录,可在开始菜单上找到命令提示符&gt;运行&gt; 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

答案 14 :(得分:2)

档案 - &gt;新窗口

在新窗口中**

运行 - &gt; Python Shell

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

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

打开命令提示符

输入“cd c:\ python27”

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

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

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

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

即可

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

答案 15 :(得分:1)

使用此

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

答案 16 :(得分:1)

如果没有任何外部库,似乎无法做到这一点。

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

  • 键入python并按Enter键将Windows命令提示符转为python idle(确保安装了python)。

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

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

答案 17 :(得分:1)

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

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

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

答案 18 :(得分:1)

创建一个函数...

def clear():
    os.system('clear')

然后当你到达 Python IDLE 的底部时,你可以使用

clear()

:)

答案 19 :(得分:0)

这适用于Windows:

print chr(12)

答案 20 :(得分: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运行,它将不会清除缓冲区。

答案 21 :(得分:0)

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

答案 22 :(得分:0)

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

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

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

答案 23 :(得分:-1)

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

答案 24 :(得分:-3)

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

答案 25 :(得分:-3)

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

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

shell.clear()

如果对Windows使用IPython,则为

cls()

答案 26 :(得分:-3)

我得到了:

import console 
console.clear()

如果要在脚本中执行此操作,或者如果您在控制台中,请点击 明确() 然后按回车。这适用于iPhone上的Pyto。不过,这可能取决于控制台。