python idle清屏_Python IDLE清屏设置

windows系统下Python中的IDLE默认是没有清屏操作的,我们需要去扩展IDLE,使它具备清屏功能。

首先我们需要下载一个名为ClearWindow.py的扩展文件

下载地址:bugs.python.org/file

具体内容如下:

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)

复制上述代码保存成一个ClearWindow.py文件。

第二步:我们打开Python安装目录,找到Lib目录下的idlelib 目录,把ClearWindow.py文件粘贴到该目录下。第三步:继续在idlelib目录下找到config-extensions.def文件并且打开它,直接用记事本打开,在文件末尾处加入以下代码:[ClearWindow]

enable=1

enable_editor=0

enable_shell=1

[ClearWindow_cfgBindings]

clear-window=

然后进行保存,此时再打开Python IDLE Shell点击Options,可以看到Clear Shell Window扩展名被加载,同样可以通过ctrl+L进行清屏操作,当然你也可以通过最后代码设置成其它快捷键。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值