在windows中:

  安装目录 \Lib(  D:\Python37\Lib) 中添加 ClearWindow.py 文件,文件内容:

"""

Clear Window Extension

Version: 0.2

Author: Roger D. Serwy

        roger.serwy@gmail.com

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)

复制文件 ClearWindow.py 文件 到 D:\Python37\Lib\idlelib 目录中,在当前目录下有 config-extensions.def ,在文件末添加代码:

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

python3 shell 中添加清屏的更多相关文章

  1. python中的清屏函数

    一:cmd中python的清屏函数 import os os.system("cls") cmd中演示 1.在cmd中输入命令行: 2.执行后: 3.为什么会遗留一个0? 因为函数 ...

  2. C++中的清屏函数

    system("cls") 执行控制台命令cls,功能是清屏,清楚所有屏幕显示信息

  3. python添加清屏功能

    创建文件ClearWindow添加内容 class ClearWindow: menudefs = [ ('options', [None, ('Clear Shell Window', '<& ...

  4. Python IDLE中实现清屏

    首先下载clearwindow.py(点击可直接下载,不能下载的可以右键保存,格式为py结尾)将这个文件放在Python X\Lib\idlelib目录下(X为你的python版本),然后在这个目录下 ...

  5. IDEA清空控制台以及Java中运行cmd命令实现清屏操作

    IDEA中清空控制台方法 在网上有看到各种的实现方法,比如: Runtime.getRuntime().exec("cls"); 或者: public static void cl ...

  6. sqlplus中设定行大小、页大小、字符列格式、数字列格式、清屏

    sqlplus虽然是DBA们最为经常使用的Oracle客户端工具,但是它在输出结果格式化上不是很好,如折行.分页不好等,所以一般启动sqlplus后多少都要做些设置,如linesize.pagesiz ...

  7. linux shell 中 printf 与 echo的区别

         echo echo是非常常用的shell命令.参数如下: -e:打开反斜杠字符backslash-escaped的解析,即对/n,/t等字符进行解析,而不视之为两个字符 -E:关闭反斜杠字符 ...

  8. java——JNI(例子控制台(64位)清屏

    因为java的最底层是jvm,所以单纯的控制台java程序不能感知jvm再下面的操作系统的情况, 可以通过JNI(Java Native Interface)技术实现java后台调用C++/C的dll ...

  9. Lua的清屏快捷方式

    1. Lua (Command Line) 这里清屏的方式是: os.execute("cls") 就是执行了DOS中的清屏命令! 2.SciTE中的清屏方式: -----(1)第 ...

随机推荐

  1. 6.Django session

    session 1.概述 cookie和session的区别 Cookie是保存在用户浏览器端的键值对,Session是保存在服务器端的键值对:Cookie做用户验证的时,敏感信息不适合放在Cooki ...

  2. AbstractQueuedSynchronizer源码分析(ReentrantLock锁的实现)

    1.  前言 Java中好多地方用到AbstractQueuedSynchronizer(PS:简称AQS),比如ReentrantLock.线程池,这部分在面试的时候也经常被问到,今天以Reentr ...

  3. 排查线上问题常用的几个Linux命令

    top 相当于Windows任务管理器 可以看到,输出结果分两部分,前5行是总览,下面是具体的进程资源占用情况.下面逐行看一下 第1行 top - 18:14:58 up 112 days,  1:3 ...

  4. ASP.NET页面之间的几种传值方法

    首先是QueryString方法传值: QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中.如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法 ...

  5. centos中安装虚拟机

    我这里选用的虚拟机软件为virtualbox 下载wget http://download.virtualbox.org/virtualbox/5.2.2/VirtualBox-5.2-5.2.2_1 ...

  6. ELK-ElasticSearch索引详解

    1.使用_cat API检测集群是否健康,确保9200端口号可用: curl 'localhost:9200/_cat/health?v' 注意:绿色表示一切正常,黄色表示所有的数据可用但是部分副本还 ...

  7. Perl信号处理

    本文关于Perl信号处理的内容主体来自于<Pro Perl>的第21章. 信号处理 操作系统可以通过信号(signal)处理机制来实现一些功能:程序注册好待监视的信号处理机制,在程序运行过 ...

  8. 详解什么是平衡二叉树(AVL)(修订补充版)

    详解什么是平衡二叉树(AVL)(修订补充版) 前言 Wiki:在计算机科学中,AVL树是最早被发明的自平衡二叉查找树.在AVL树中,任一节点对应的两棵子树的最大高度差为1,因此它也被称为高度平衡树.查 ...

  9. Java开发笔记(六十二)如何定义函数式接口

    前面介绍了Lambda表达式的用法,从实践中发现它确实极大地方便了开发者,然而不管是匿名内部类还是Lambda表达式,所举的例子都离不开各类数组的排序方法,倘使Lambda表达式仅能用于sort方法, ...

  10. 开源负载测试工具k6比JMeter更容易的5件事

    k6是GitHub上提供的开源负载测试工具.它是用Go编写的,并运行用JavaScript编写的测试脚本.它受到了开发人员,测试人员和DevOps团队的强烈兴趣,并拥有超过4400名GitHub明星. ...