Python自带IDLE Shell和命令行(cmd中) 清屏方法

一、针对命令行CMD中:调用DOS系统提供的cls命令

import os

os.system('cls')

二、针对IDLE Shell

1、在...\Python\Lib\idlelib文件夹下新建ClearWindow.py文件

class ClearWindow:

    menudefs = [

        ('options', [None,

                    ('Clear Shell Window', '<>'),

                    ]), ]

    def __init__(self, editwin):

        self.editwin = editwin

        self.text = self.editwin.text

        self.text.bind("<>", self.clear_window2)

        self.text.bind("<>", 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)

2、 在Python\Lib\idlelib目录下编辑config-extensions.def(IDLE扩展配置文件)

在该文件最后增加如下内容:

[ClearWindow]

enable=1

enable_editor=0

enable_shell=1

[ClearWindow_cfgBindings]

clear-window=    

--定义了清屏快捷键Ctrl + w,w必须是小写

启动Python IDLE,在Options菜单下会出现"Clear Shell Window Ctrl+W"

这时候就可以用快捷键Ctrl + w 清屏了

你可能感兴趣的:(Python自带IDLE Shell和命令行(cmd中) 清屏方法)