Python IDLE清空窗口的實(shí)例
使用Python IDLE時(shí)發(fā)現(xiàn)并沒(méi)有清空當(dāng)前窗口的快捷鍵,也沒(méi)有像 clear 這樣的命令,使用非常不便。
新建一個(gè) 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文件,放在Python安裝目錄Python XXX\Lib\idlelib下面(XXX為你的python版本,比如2.7)。
記事本打開Python XXX\Lib\idlelib目錄下的config-extensions.def(IDLE擴(kuò)展的配置文件), 為防止出錯(cuò),你可以在打開它之前先copy一個(gè)備份 。
修改config-extensions.def ,在末尾添加如下內(nèi)容,然后保存退出:
[ClearWindow] enable=1 enable_editor=0 enable_shell=1 [ClearWindow_cfgBindings] clear-window=<Control-Key-;>
打開Python的IDLE,options選項(xiàng)中就可以看到增加了Clear shell window ctrl+;。
在IDLE輸入代碼,然后按Ctrl+;(是指Ctrl和;),發(fā)現(xiàn)剛輸入代碼可以被清除了。
快捷鍵Ctrl+;,可修改成其他鍵,將
clear-window=<Control-Key-;>
里的Control和;修改成其他鍵即可。
以上這篇Python IDLE清空窗口的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決cupy-cuda安裝下載報(bào)錯(cuò)以及速度太慢的問(wèn)題
在嘗試下載Cupy-CUDA時(shí)可能會(huì)遇到報(bào)錯(cuò)"ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE.",這通常是由于網(wǎng)絡(luò)問(wèn)題導(dǎo)致的,出現(xiàn)這種情況時(shí),可以嘗試使用清華大學(xué)的鏡像源來(lái)加速下載,這樣不僅可以提高下載速度2024-09-09
一文帶你掌握Python自然語(yǔ)言處理庫(kù)SpaCy
SpaCy是一個(gè)非常強(qiáng)大的Python自然語(yǔ)言處理庫(kù),它包含了眾多強(qiáng)大功能,如詞性標(biāo)注、命名實(shí)體識(shí)別、依賴關(guān)系解析等等,這篇文章的目標(biāo)是幫助你了解SpaCy的基本功能和如何使用,需要的朋友可以參考下2023-07-07
Scrapy框架爬取西刺代理網(wǎng)免費(fèi)高匿代理的實(shí)現(xiàn)代碼
今天小編就為大家分享一篇關(guān)于Scrapy框架爬取西刺代理網(wǎng)免費(fèi)高匿代理的實(shí)現(xiàn)代碼,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02
Python?內(nèi)置logging?使用詳細(xì)介紹
提供日志記錄的接口和眾多處理模塊,供用戶存儲(chǔ)各種格式的日志,幫助調(diào)試程序或者記錄程序運(yùn)行過(guò)程中的輸出信息,這篇文章主要介紹了Python?內(nèi)置logging?使用講解,需要的朋友可以參考下2022-07-07

