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

dev*_*ium 143 python python-idle

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

如何清除python的IDLE窗口?

Bri*_*ian 92

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

print "\n" * 100
Run Code Online (Sandbox Code Playgroud)

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

def cls(): print "\n" * 100
Run Code Online (Sandbox Code Playgroud)

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

  • 它确实清除了屏幕,但你仍然得到提示">>>"在最后一行而不是在顶部,我猜它会降低效率......仍然为清晰屏幕+1 (12认同)
  • Python 3.4.2 - 我不得不在括号中包含"\n"和*100,所以:`print("\n"*100)` (10认同)
  • 这不会清除屏幕,我仍然可以向上滚动! (4认同)
  • ctrl + j也可以。包括在内可能会很有用。http://stackoverflow.com/a/11993793/4871483 (2认同)
  • Python shell 说压缩文本 100 行@Brian (2认同)

Nad*_*mli 76

os.system('clear')适用于Linux.如果你正在运行Windows尝试os.system('CLS').

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

import os
Run Code Online (Sandbox Code Playgroud)

  • 这使得在外部命令提示符中对cls进行os调用,并且不与Idle交互 (32认同)
  • 为什么这个被投票?这将打开一个新的命令提示符,清除它并关闭它 (17认同)
  • os.system('CLS')适用于Windows.(Python 2.6).清除结果屏幕,仅显示"0",我假设它是CLS的返回值,位于顶部.下一行有>>>提示符. (13认同)
  • idle不是控制台窗口.clear和cls都在控制台/终端窗口上运行. (13认同)
  • 问题是'清屏IN IDLE'以上方法肯定不能在我的电脑上运行 (13认同)
  • 这在Windows Idle tkinter shell中不起作用,尽管它可能在命令行中有效. (2认同)
  • @devouredelysium 试试这个: _ = os.system('clear') (2认同)

shx*_*fee 38

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

  • 在Mac OS X上 (5认同)
  • 如果您使用 IDLEx,也可以在 Windows 上使用。干杯! 很高兴终于得到了一个简单的解决方案! (2认同)

Abd*_*man 32

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

这个问题最简单的答案是

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

  • 这是对这个问题的一个很好,直接和实际的答案;关闭空闲状态,保持文件打开状态,再次运行文件,空闲状态现在有了新的显示。 (2认同)

Rog*_*ger 18

用于清除shell的扩展可以在Issue6143中找到,作为"功能请求".此扩展包含在IdleX中.


小智 15

>>> import os

>>>def cls():
...    os.system("clear")
...
>>>cls()
Run Code Online (Sandbox Code Playgroud)

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


Rud*_*ski 8

在Python 2.4+中执行命令的方法是使用子进程模块.您可以按照使用的相同方式使用它os.system.

import subprocess
subprocess.call("clear") # linux/mac
subprocess.call("cls", shell=True) # windows
Run Code Online (Sandbox Code Playgroud)

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

cls = subprocess.call("cls", shell=True)
Run Code Online (Sandbox Code Playgroud)


Mar*_*bau 8

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


小智 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。

  • 只是说,但我相信问题是问'你如何从 Python 脚本内部清除空闲屏幕。 (3认同)

lfs*_*ndo 5

我喜欢使用:

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

clear()
Run Code Online (Sandbox Code Playgroud)


小智 5

MAC OS X 的“命令 + L ”。

Ubuntu的“控制+ L

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


小智 5

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

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

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