IDLE如何清屏?
原文鏈接:python idle 清屏問題的解決
在學習和使用python的過程中,少不了要與Python IDLE打交道。但使用 Python IDLE 都會遇到一個常見而又懊惱的問題——要怎麼清屏?
答案是為IDLE增加一個清屏的擴展ClearWindow就可以了(在Issue 6143: IDLE中可以看到這個擴展的說明)。
下面我說說安裝使用的方法。
1、下載clearwindow.py(右擊-目標另存為,格式為py結尾,直接點擊會打開腳本內容)。
2、拷貝clearwindow.py文件,放在Python安裝目錄Python XXXLibidlelib下面(XXX為你的python版本)。
3、記事本打開Python XXXLibidlelib目錄下的config-extensions.def(IDLE擴展的配置文件), 為防止出錯,你可以在打開它之前先copy一個備份 。
4、修改config-extensions.def ,在末尾添加如下內容,然後保存退出:
[ClearWindow]
enable=1
enable_editor=0
enable_shell=1
[ClearWindow_cfgBindings]
clear-window=&
5、打開Python的IDLE,options選項中就可以看到增加了Clear shell window ctrl+;。
6、在IDLE輸入代碼,然後按Ctrl+;(是指Ctrl和;),發現剛輸入代碼可以被清除了。
說明:
快捷鍵Ctrl+;,可修改成其他鍵,將「clear-window=&
經試驗,Control換成Alter時,會啟動不了IDLE,換成Shift時,快捷鍵不起作用,因為Shift+l,直接變成輸入L了。
關掉重開
前面幾個說沒成功 的,要將文件名字,ClearWindow 首字母大寫 ,這樣就能成功了。
可以參考 python idle 清屏問題的解決
有必要這麼複雜嗎試試import osos.system("cls")只會多一個0---------------------------
忘了說了,這個只有cmd管用,IDLE 好像不行。
為啥要用自帶的idle?集成到vs和用命令行多方便。我也非常討厭idle這一點,要是能像matlab那樣clear,clc一句話搞定就好了,可惜我們得再去安裝插件
要是不安裝插件,我覺得只好這樣了import os
def c():os.system("cls")
MAC Python IDLE 清屏
原理跟最高票答案一致,Python【ClearWindow.py】放置位置對於初學者實在不好找,寫上來:
【MAC 版本10.13 多個版本Python位置:Homebrew、官網下載、系統自帶三種位置】
1. 【 Homebrew安裝python3.6的位置】
/usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/lib/python3.6/idlelib
【Python官網下載安裝python3.6的位置】
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/idlelib
【系統自帶的Python2.7的位置】
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/idlelib
※※※ tips:
【MAC讓標題欄顯示全部路徑】
在終端中輸入:
defaults write com.apple.finder _FXShowPosixPathInTitle -bool TRUE;killall Finder
取消則是:把write改成delet
2.【ClearWindow.py】文件下載:https://pan.baidu.com/s/1ntOzSAt (轉自百度經驗原貼網友)
3.把【ClearWindow.py】複製到 1.【放置位置】,打開,第一大段中有這麼一行:
[ClearWindow]
enable=1
enable_editor=0
enable_shell=1
[ClearWindow_cfgBindings]
clear-window=&<Control-Key-l&>
複製這一段。
4. 在【放置位置】中找到【config-extensions.def】用記事本打開,粘貼上面一段。
5.重啟IDLE
補充:&<Control-Key-l&> 我自己改為了 &<Command-Key-l&>
上圖:
2016年的新式辦法,python 3.5.1 + Windows
pip install idlex然後創建一個快捷方式
C:Python3pythonw.exe "c:Python3scriptsidlex.pyw"路徑按自己的實際情況替換下,就OK了
缺點:用方向鍵上下對已經輸入的命令進行遍歷時,如果有多行的輸入歷史,會卡在那裡為什麼我的不行啊 3.6的 在options下面只有一個Python Configure option
IDLE Extensions for Python
裡面有清屏插件(話說最好的辦法不就是放棄idle嗎?
回答第一的方法很好用 比自己寫代碼清除好用的多啊
ClearWindow.py 代碼如下,直接複製在IDLE新建文件存為py文件到指定文件夾下。(百度經驗搜得hhhhh~)
"""
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=&
"""
class ClearWindow:
menudefs = [
("options", [None,
("Clear Shell Window", "&<&
]),]
def __init__(self, editwin):
self.editwin = editwin
self.text = self.editwin.text
self.text.bind("&<&
self.text.bind("&<&
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)
import os
def c():os.system("cls")
好麻煩,還是關了重開吧。要是有clear命令就好了
為什麼我的就不行呢,按照步驟做的啊?在options下面只有一個Python Configure option
推薦閱讀:
TAG:Python |