• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

Xux_china

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

Python 实现清屏

使用Python的IDLE到某个程序节点时,需要清屏以提高清晰度.

但IDLE本身并没有这个功能,我们可以通过扩展来实现类似于Ctrl + L的清屏

资料来自于百度经验的 BinnLZeng

先制作一个python文件ClearWindow.py

 1 #File Name:ClearWindow.py
 2 class ClearWindow:
 3     menudefs = [
 4         ('options', [None,
 5                ('Clear Shell Window', '<<clear-window>>'),
 6        ]),]
 7  
 8     def __init__(self, editwin):
 9         self.editwin = editwin
10         self.text = self.editwin.text
11         self.text.bind("<<clear-window>>", self.clear_window)
12 
13     def clear_window2(self, event): 
14     # Alternative method
15     # work around the ModifiedUndoDelegator
16         text = self.text
17         text.mark_set("iomark2", "iomark")
18         text.mark_set("iomark", 1.0)
19         text.delete(1.0, "iomark2 linestart")
20         text.mark_set("iomark", "iomark2")
21         text.mark_unset("iomark2")
22         if self.text.compare('insert', '<', 'iomark'):
23             self.text.mark_set('insert', 'end-1c')
24         self.editwin.set_line_and_column()
25 
26 
27     def clear_window(self, event):    
28         # remove undo delegator
29         undo = self.editwin.undo
30         self.editwin.per.removefilter(undo)
31         # clear the window, but preserve current command
32         self.text.delete(1.0, "iomark linestart")
33 
34         if self.text.compare('insert', '<', 'iomark'):
35             self.text.mark_set('insert', 'end-1c')
36 
37         self.editwin.set_line_and_column()
38 
39         # restore undo delegator
40         self.editwin.per.insertfilter(undo)

然后,将该文件move至 {PYTHON_HOME}\Lib\idlelib中

修改config-extensions.def文件

在末尾添加

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


来解释下什么意思

enable=1

#1为真 意思就是启用这个扩展

enable_editor=0

#编辑器禁用这个扩展

enable_shell=1

#IDLE Shell启动扩展

clear-window=<Control-Key-l>

#设置快捷键为Ctrl + L

---------------------------分割线-----------------------

再打开IDLE

点击Options,可以看到我们的扩展被成功加载。

同样,我们可以按下Ctrl + L进行清屏操作。我们还可以通过clear-window=<Control-Key-l>修改快捷键,例如修改为ctrl + 3,则是clear-window=<Control-Key-3>

posted on 2019-01-09 14:14  Xux_china  阅读(1121)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3