python idle清屏問題(Ctrl w)

2021-09-13 11:25:09 字數 2982 閱讀 5565

在學習和使用python的過程中,少不了要與python idle打交道。但使用python idle都會遇到乙個常見而又懊惱的問題——要怎麼清屏?

1.在shell中輸入

import os

os.system(『cls』)

這種方法只能在windows系統中cmd模式下的python shell 才管用(因為cls的命令是針對cmd的),在python idle直接返回了乙個0的值。

2.定義乙個cls的函式,每次使用輸入cls()即可

def cls():

print 「\n」 * 100

這種方法是偽清屏,只是輸入滿屏的空白而已,游標仍在最下面一行,根本達不到清屏的目的

1、在python x\lib\idlelib目錄下建立clearwindow.py(其中x是python版本號)

"""

clear window extension

version: 0.2

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.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', '

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', '

self.text.mark_set('insert', 'end-1c')

self.editwin.set_line_and_column()

# restore undo delegator

self.editwin.per.insertfilter(undo)

2、 在python x\lib\idlelib目錄下編輯config-extensions.def(idle擴充套件配置檔案),在末尾處加上下面**

#clear ctrl+w

[clearwindow]

enable=1

enable_editor=0

enable_shell=1

[clearwindow_cfgbindings]

clear-window=

其中「w」是快捷鍵w,可以根據自己喜好進行修改,必須是小寫字母。

啟動python idle,在options選單下會出現"clear shell window ctrl+w"

如果是這樣的話,那就證明你安裝成功了,以後要清屏直接ctrl+w就可以了

Python IDLE的清屏問題

新手在使用idle的過程中,肯定遇到麻煩的清屏問題,本次找到了簡單高效的清屏解決方案 首先在文字編譯器裡輸入以下 clear window extension version 0.2 author roger d.serwy roger.serwy gmail.com date 2009 06 14...

python idle 清屏問題的解決

在學習和使用python的過程中,少不了要與python idle打交道。但使用python idle都會遇到乙個常見而又懊惱的問題 要怎麼清屏?我在stackoverflow看到這樣兩種答案 1.在shell中輸入 1 import os 2 os.system cls 這種方法只能在window...

Python IDLE 怎麼清屏?

python idle 怎麼清屏?方法很簡單,為idle增加乙個清屏的擴充套件 clearwindow 就可以了 開啟config extensions.def 後在句末加上這樣幾句 clearwindow enable 1 enable editor 0 enable shell 1 clearw...