python自带的IDLE如何清屏

作者:知乎用户

链接:https://www.zhihu.com/question/20917976/answer/32876441

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

在学习和使用python的过程中,少不了要与Python IDLE打交道。但使用 Python IDLE 都会遇到一个常见而又懊恼的问题——要怎么清屏?

答案是为IDLE增加一个清屏的扩展ClearWindow就可以了(在Issue 6143: IDLE中可以看到这个扩展的说明)。

下面我说说安装使用的方法。

1、下载ClearWindow.py(最下面有代码,保存为ClearWindow.py)。

2、拷贝ClearWindow.py文件,放在Python安装目录Python XXX\Lib\idlelib下面(XXX为你的python版本)。

3、记事本打开Python XXX\Lib\idlelib目录下的config-extensions.def(IDLE扩展的配置文件), 为防止出错,你可以在打开它之前先copy一个备份 。

4、修改config-extensions.def ,在末尾添加如下内容,然后保存退出:

[ClearWindow]

enable=1

enable_editor=0

enable_shell=1

[ClearWindow_cfgBindings]

clear-window=<Control-Key-;>

5、打开Python的IDLE,options选项中就可以看到增加了Clear shell window  ctrl+;。

6、在IDLE输入代码,然后按Ctrl+;(是指Ctrl和;),发现刚输入代码可以被清除了。

ClearWindow.py

 
"""

Clear Window Extension
Version: 0.2

Author: Roger D. Serwy
        [email protected]

Date: 2009-06-14

It provides "Clear Shell Window" under "Options"
with ability to undo.

Add these lines to config-extensions.def

[ClearWindow]
enable=1
enable_editor=0
enable_shell=1
[ClearWindow_cfgBindings]
clear-window=<Control-Key-l>

"""

class ClearWindow:

    menudefs = [
        (‘options‘, [None,
               (‘Clear Shell Window‘, ‘<<clear-window>>‘),
       ]),]

    def __init__(self, editwin):
        self.editwin = editwin
        self.text = self.editwin.text
        self.text.bind("<<clear-window>>", self.clear_window2)

        self.text.bind("<<undo>>", self.undo_event)  # add="+" doesn‘t work

    def undo_event(self, event):
        text = self.text
       
        text.mark_set("iomark2", "iomark")
        text.mark_set("insert2", "insert")
        self.editwin.undo.undo_event(event)

        # fix iomark and insert
        text.mark_set("iomark", "iomark2")
        text.mark_set("insert", "insert2")
        text.mark_unset("iomark2")
        text.mark_unset("insert2")
        

    def clear_window2(self, event): # Alternative method
        # work around the ModifiedUndoDelegator
        text = self.text
        text.undo_block_start()
        text.mark_set("iomark2", "iomark")
        text.mark_set("iomark", 1.0)
        text.delete(1.0, "iomark2 linestart")
        text.mark_set("iomark", "iomark2")
        text.mark_unset("iomark2")
        text.undo_block_stop()
        if self.text.compare(‘insert‘, ‘<‘, ‘iomark‘):
            self.text.mark_set(‘insert‘, ‘end-1c‘)
        self.editwin.set_line_and_column()

    def clear_window(self, event):
        # remove undo delegator
        undo = self.editwin.undo
        self.editwin.per.removefilter(undo)

        # clear the window, but preserve current command
        self.text.delete(1.0, "iomark linestart")
        if self.text.compare(‘insert‘, ‘<‘, ‘iomark‘):
            self.text.mark_set(‘insert‘, ‘end-1c‘)
        self.editwin.set_line_and_column()

        # restore undo delegator
        self.editwin.per.insertfilter(undo)
时间: 2024-10-13 09:20:50

python自带的IDLE如何清屏的相关文章

熟悉快捷键,提高开发效率,Python自带的IDLE常用快捷键汇总

IDLE是Python自带的coding小工具,对于初学者来说IDLE非常方便实用,但大部分人并不知道它的一些常用快捷键.如果能熟练掌握这些常用快捷键的话,无疑会使你的代码编写效率大大提升.下面列出常用的几个快捷键: ALT+3 :多行注释, 选中一行或者多行代码,摁住ALT和3,就可以实现多行注释 ALT+4 :取消多行注释 CTRL+[ :一行或多行代码的取消缩进 CTRL+] :一行或多行代码的增加缩进 F1 :打开Python帮助文档 ALT+X :打开Python shell窗口,需要

python自带的IDLE编译器,听说大神都用这个(附python下载安装教程)

python这两年这么火,学的人越来越多,小伙伴们都用什么编译器了? 今天教大家安装python并熟悉python自带的编译器IDLE. 第一步,进入python官网https://www.python.org/. 第二步,点击Downlonds,选择自己的系统,选择想要安装的版本,推荐最新的版本.这里大家可能会看到同一个版本有三个选项,给大家简单介绍一下这三个安装包,一般选择第二个executable installer就可以了. web-based installer 是需要通过联网完成安装

Python 自带IDLE中调试程序

在vs2013下调试过Python,今天试了下使用自带IDLE调试,相比而言后者效果不好. 记录一下 http://q.cnblogs.com/q/35869/ 在“Python Shell”窗口中单击“Debug”菜单中的“Debugger”菜单项,就可以启动IDLE的交互式调试器.这时,IDLE会打开“Debug Control”窗口,并在“Python Shell”窗口中输出“[DEBUG ON]”并后跟一个“>>>”提示符.这样,我们就能像平时那样使用这个“Python Shel

打开python自带IDLE出的问题

打开python自带IDLE编辑器时出的问题 IDLE can't bind to a TCP/IP port, which is necessary tocommunicate with its Python execution server. This might bebecause no networking is installed on this computer. Run IDLEwith the -n command line switch to start without a s

[转载]python实现带验证码网站的自动登陆

    原文地址:python实现带验证码网站的自动登陆作者:TERRY-V 早听说用python做网络爬虫非常方便,正好这几天单位也有这样的需求,需要登陆XX网站下载部分文档,于是自己亲身试验了一番,效果还不错. 本例所登录的某网站需要提供用户名,密码和验证码,在此使用了python的urllib2直接登录网站并处理网站的Cookie. Cookie的工作原理: Cookie由服务端生成,然后发送给浏览器,浏览器会将Cookie保存在某个目录下的文本文件中.在下次请求同一网站时,会发送该Coo

DOS当中的基本操作命令,如何切换磁盘,如何查看文件和文件夹,如何清屏,进入文件夹的命令,javac是什么意思,作用是什么?DOS如何建文件夹?退出文件夹?

如何切换磁盘:使用盘符+:举例 d: 如何查看文件和文件夹 dir/w 如何清屏: cls (clear screen) 进入文件夹的命令cd ,举例cd JDK javac是什么意思,c 是compile(编译),就是用这个程序编译Java文件 DOS如何建文件夹?md(make directory) 退出文件夹:两种方法,一种是cd..另一种是cd\ *符号,是通配符,可以表示任意多个字符 Dos打开记事本命令notepad 查看iP地址的命令ipconfig 查看电脑之间是否联通命令pin

python自带库及第三方库api察看

今天发现一个很有意思的功能,python自带了所有库的文档查看器,配置如下: 配置pydoc服务,cmd中输入如下代码: python –m pydoc –p 1234 回车后 ,使用过程中,该窗口不要关闭. 然后,在浏览器中输入网址:http://localhost:1234/ ,打开python自带的及集成的第三方库的api. 界面类似如下: 此工具对于察看第三方库的帮助文档非常方便

将Python自带版本(2.6.6)升级到2.7.9

将Python自带版本(2.6.6)升级到2.7.9 查看当前python版本: # pythonPython 2.6.6 (r266:84292, Jan 22 2014, 09:42:36)  [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2Type  "help", "copyright", "credits" or "license" for more informati

paip.性能跟踪profile原理与架构与本质-- python扫带java php

##背景 弄个个输入法音标转换atiEnPH工具,老是python性能不的上K,7k记录浏览过k要30分钟了. ##目标 分析一个程序的性能,最终都归结为回答4个基本的问题: 程序运行速度有多快? 运行速度瓶颈在哪儿? 程序使用了多少内存? 内存泄露发生在哪里? 谁引用着泄漏的对象? 作者 老哇的爪子 Attilax 艾龙,  EMAIL:[email protected] 转载请注明来源: http://blog.csdn.net/attilax #工具cProfile,objgraph 谁引