Python'un IDLE penceresini temizlemenin herhangi bir yolu var mı?


154

Python konsolu hakkında benzer bir konu olduğunu biliyorum, ancak aynı olup olmadıklarını bilmiyorum. Sistemi denedim ("temizle") ve burada işe yaramadı.

Python'un IDLE penceresini nasıl temizleyebilirim?


10
Bu bir kopya değil, OP konsolu değil, IDLE kabuk temizlemek için soruyor
Yüce deve Moha 8

1
Bunun çalışmamasının nedeni, Python'un yeni bir kabuk oturumu başlatması ve buradaki komutu çalıştırmasıdır clear. Ayrıca neden cdişe yaramadığını da açıklar system.os.
jkd

14
ctrl + jBir süre basılı tutun ve enter tuşuna basın, Bu en iyi yol olacak
ytpillai

1
@ytpillai, Ah, ama bu bana en altta bilgi veriyor. Bir çözüm, şüphesiz, ama yine de bazı kolaylıklara neden olur.
John Red

Yanıtlar:


97

"Cls" ve "clear" bir terminali temizleyecek komutlardır (DOS istemi veya terminal penceresi). Ekran görüntünüzden, IDLE içindeki bu tür şeylerden etkilenmeyecek bir kabuk kullanıyorsunuz. Ne yazık ki, IDLE'de ekranı temizlemenin bir yolu olduğunu düşünmüyorum. Yapabileceğiniz en iyi şey ekranı çok satır aşağı kaydırmaktır, örneğin:

print "\n" * 100

Bunu bir işleve koyabilirsiniz, ancak:

def cls(): print "\n" * 100

Ve sonra ihtiyaç duyulduğunda cls()


13
Ekranı temizler ama yine de son satırda istemi ">>>" alırsınız, daha az verimsiz hale getirir ... net Ekran için hala +1
Invictus

10
Python 3.4.2 - "\ n" ve * 100'ü parantez içine almak zorunda kaldım, bu yüzden:print ("\n" * 100)
cody.codes

4
Bu ekranı temizlemeyecek, yine de yukarı kayabilirim!
esoterik

2
ctrl + jayrıca çalışır. Bu dahil olmak üzere yararlı olabilir. stackoverflow.com/a/11993793/4871483
ytpillai

1
Bunun python etiketi olduğunu unutmayın. Sürüme özgü değil. Tüm python 3.x kullanıcıları içinprint('\n'*100)
Luke

83

os.system('clear')Linux üzerinde çalışır. Windows çalıştırıyorsanız, os.system('CLS')bunun yerine deneyin .

Önce os'u şu şekilde içe aktarmanız gerekir:

import os

13
Os.system ('CLS') Windows'ta çalışır. (Python 2.6). Ortaya çıkan ekran temizlenir, sadece üstte CLS için dönüş değeri olduğunu düşündüğüm bir "0" gösterilir. Sonraki satırda >>> istemi bulunur.
mjv

35
Bu, harici bir komut isteminde
cls'e

15
boşta bir konsol penceresi değil. Hem temiz hem de cl'ler konsol / terminal pencerelerinde çalışır.
Bryan Oakley

16
Soru 'net ekran IN IDLE' yukarıdaki yöntemler kesinlikle bilgisayarımda çalışmıyor
Élektra

21
Bu neden iptal edildi? Bu yeni bir komut istemi açar, temizler ve kapatır
ytpillai

39

Cevapların çoğu, burada DOS komut istemi ekranını, soru değil, komutları temizleme ile temizler. Buradaki diğer cevaplar, ekranın temizleme etkisini göstermek için boş çizgiler yazdırmaktı.

Bu sorunun en basit yanıtı

Bazı harici modül entegrasyonu olmadan python IDLE kabuğunu temizlemek mümkün değildir. Gerçekten boş bir saf taze kabuk almak istiyorsanız, önceki kabuğu kapatın ve tekrar çalıştırın


3
Bu, bu sorunun iyi, doğrudan ve pratik bir cevabıdır; boşta kapatın, dosyayı açık bırakın, dosyayı tekrar çalıştırın ve boşta şimdi yeni bir ekran var.
Mike_K

@Mike_K, yararlı olabilir, ama asla değil. Şu anda bölünmüş bir ekranım var (bir kitap <|> boşta). Bekleme modunu yeniden yürüttüğümde, yeni ekran varsayılan konuma / boyutlara gelir. Yani, çok sıkıcı olacak.
sdlins

38

ctrl+ LUbuntu Linux'ta ekranı temizler.


Ayrıca Red Hat / Fedora / CentOS
DtechNet

1
Windows'da da IDLEx kullanıyorsanız. Şerefe! Sonunda basit bir çözüm bulduğum için çok mutluyum!
John Red

Ubuntu 18.04'te çalışmıyor. Burada daha az kötüye kullanım CTRL+ Jbirden çok kez.
sdlins

@slinstj pencerelerde tamamen kapattı
Mubarek

Bugünkü hack'ime eklendi! Ayrıca MacOS'ta bir cazibe gibi çalışın!
xtornasol512


19
>>> import os

>>>def cls():
...    os.system("clear")
...
>>>cls()

Bu mükemmel. Hiçbir '0' yazdırılmadı.


Güzel, basit, ne diyorsa onu yapar. Ya da import ossadece yazdıktan sonra os.system("clear"), genellikle ekranı temizlemeniz gerekiyorsa, işlev kullanışlı olsa da.
Dave Everitt

1
os.system ("temizle") çalıştı. Bu benim için çalışıyor, ama "cls ()" yazmak
zorunda

Bunu denediğimde, komut satırı <fonksiyon cls 0x024D25D0> döndürdü ve konsol temizlenmedi
ericgrosse

Şimdiye kadarki en iyi cevap
hello123

@ericgrosse cls () değil, cls () yazmanız gerekir
Banoona


7

Python 2.4 ve sonraki sürümlerinde komutları yürütmenin yolu, alt işlem modülünü kullanmaktır . Bunu kullandığınız gibi kullanabilirsiniz os.system.

import subprocess
subprocess.call("clear") # linux/mac
subprocess.call("cls", shell=True) # windows

Bunu python konsolunda yürütüyorsanız, dönüş değerini ( os.systemveya biri için subprocess.call) bir değişkene atamak gibi gizlemek için bir şeyler yapmanız gerekir :

cls = subprocess.call("cls", shell=True)

Geri izleme (en son çağrı son sırada): Dosya <module> altprocess.call ("cls") "C: \ Python26 \ lib \ subprocess.py", satır 444'te "<pyshell # 1>", satır 1 call return Popen (* popenargs, ** kwargs) .wait () Dosya "C: \ Python26 \ lib \ subprocess.py", satır 595, init errread, errwrite) Dosya "C: \ Python26 \ lib \ subprocess.py ", satır 804, _execute_child startupinfo) WindowsError: [Hata 2] Sistem belirtilen dosyayı bulamıyor
devoured elysium

1
Hmm .. Windows kullanmama ve böylece test edemediğim için aldım.
Subprocess.call


4

Dosya -> Yeni Pencere

Yeni pencerede **

Çalıştır -> Python Kabuğu

Bu yöntemle ilgili sorun, değişkenler gibi tanımladığınız her şeyi temizleyecek olmasıdır.

Alternatif olarak, sadece komut istemini kullanmalısınız.

komut istemini aç

"cd c: \ python27" yazın

"python example.py" yazın, bunu etkileşimli modda değilken IDLE kullanarak düzenlemeniz gerekir. Python kabuğundaysanız, dosya -> yeni pencere.

Example.py dosyasının C: \ python27 ile veya python'un yüklü olduğu herhangi bir dizinde olması gerektiğini unutmayın.

Ardından, klavyenizdeki YUKARI ok tuşuna basmanız yeterlidir. Sadece example.py dosyasını düzenleyin, CTRL + S tuşlarını kullanın, ardından komut istemine geri dönün, YUKARI ok tuşuna basın, enter tuşuna basın.

Komut istemi çok kalabalıksa "clr" yazın

"Clr" komutu sadece komut istemiyle çalışır, IDLE ile çalışmaz.


3
Sadece Söylemek, ama soru 'PYTHON SCRIPT İÇİNDE BOŞTA ekran temiz nasıl.
Élektra

Yeni bir dosya başlatmak ve içinde Python kabuğu çalıştırmak benim için tek seçenek gibi görünüyordu, başka hiçbir şey işe yaramadı. Teşekkürler!
Sergey Zakharov

4

IDLE konsolunu temizlemenin doğrudan bir yolu yok gibi görünüyor.

Bunu yapmanın bir yolu, python betiğimin (.py) son komutu olarak exit () yöntemini kullanmaktır. Komut dosyasını çalıştırdığımda, çıkmadan önce her zaman yeni bir konsol ve istem açar.

Upside: Komut dosyası her yürütüldüğünde yeni başlatılır. Dezavantajı: Komut dosyası her yürütüldüğünde konsol yeniden başlatılır.


2

Bir AutoHotKey betiği oluşturabilirsiniz.

Kabuğu temizlemek üzere ctrl-r'yi bir kısayol tuşuna ayarlamak için:

^r::SendInput print '\n' * 50 {Enter}

AutoHotKey'i kurmanız, yukarıdakileri idle_clear.ahk adlı bir dosyaya koymanız, dosyayı çalıştırmanız ve kısayol tuşunuzun etkin olması yeterlidir.


2

Bu çözümlerin hiçbiri Windows 7'de ve IDLE içinde benim için çalışmadı. PowerShell'i kullanarak yaralayın, içindeki Python'u çalıştırın ve pencereyi temizlemek için PowerShell'de "cls" çağırmak için çıkın.

İNŞAAT: Python zaten PATH değişkeni içinde olduğunu varsayar. Ayrıca, bu Python değişkenlerinizi temizler (yine de kabuğu yeniden başlatır).

Artıları: Yaptığınız tüm pencere özelleştirmelerini (renk, yazı tipi boyutu) korur.


2

Herhangi bir harici kütüphane olmadan bunu yapmak imkansız görünüyor.

Windows kullanıyorsanız ve her temizlemek istediğinizde kabuğu açmak ve kapatmak istemiyorsanız alternatif bir yol, windows komut istemini kullanmaktır.

  • Yazın pythonve pencereler (emin piton yüklü olduğundan emin olun) piton boşta için komut istemi açmak için enter tuşuna basın.

  • Yazın quit()ve pencereler komut istemi geri çevirmek butonu tıklayın.

  • Tip clsve isabet istemi / windows kabuk komutu temizlemek için girin.


2

Thonny IDE kullanmanızı tavsiye ederimPython için . Kabuğunun "Kabuğu Temizle" seçeneği vardır ve ayrı bir listede oluşturulan değişkenleri de izleyebilirsiniz. Hata ayıklama, modern IDE'lerle karşılaştırıldığında bile çok iyidir. Aynı yerde kabuğa erişimin yanı sıra python dosyasına da kod yazabilirsiniz.

Ve hafifliği!


2

MAC OS X için " command + L ".

" kontrol + LUbuntu için "

Etkileşimli oturumdaki son satırı temizler


Bu özelliği bilmiyordum, teşekkürler Her zaman komutunun ne yaptığını yaz.
Priyank Pathak

1

Mark.ribau'nun dediği gibi, Metin widget'ını boşta temizlemenin bir yolu yok gibi görünüyor. Biri, EditorWindow.pymodülü düzenlemeli ve EditorWindow sınıfında aşağıdakileri yapan bir yöntem ve bir menü öğesi eklemelidir:

self.text.tag_remove("sel", "1.0", "end")
self.text.delete("1.0", "end")

ve belki de farkında olmadığım daha fazla etiket yönetimi.


1

Windows'ta bunu yapmanın en iyi yolu 'cmd' komut istemini kullanmak ve python dizinine erişmek, komut istemi başlat menüsü> run> cmd'de bulunabilir

C:\>cd Python27
C:\Python27>python.exe
Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>import os
>>>os.system('cls')  #This will clear the screen and return the value 0

2
Sadece Söylüyorum, ama sorunun 'Ekranı BOŞTA nasıl temizlersiniz' sorusu olduğuna inanıyorum. (Vurgu açık IN IDLE)
Élektra

1

bunu kullan

for num in range(1,100):
    print("\n")

Çalışır, ancak daha önce bir şey görmek istiyorsanız inanılmaz derecede uzun bir kaydırma mesafesi ile sonuçlanır.
Élektra

Aralığı azaltmaya çalışın (1,10):
Tauseef

@ Xenon Ancak fikir pencereyi temizlemek ise, kullanıcının daha önce bir şey görüntüleyememesi gerekir.
Sam

0

Ekran görüntünüz IDLE kullandığınızı gösteriyor. cls/ clearsenin için çalışmaz.


5
Bu iyi bir cevap değil; OP "Python'un IDLE penceresini temizlememe ne yardım etmeyeceğini" sormadı.
DeFazer

-1
from subprocess import call as c

def cls():

    c("cls",shell=True)

print([x for x in range(10000)])

cls()

Konsolu temizlemek istediğinizde cls işlevini çağırdığınızda, ancak bu işlevin yalnızca cmd istemi kullanarak Python Script çalıştırıyorsanız Windows'ta ekranı temizleyeceğini unutmayın, IDLE ile çalıştırdığınızda arabelleği temizlemez.


2
Sadece Söylüyorum, ama şu soruyu soruyorum: 'PYTHON SCRIPT'TEN BOŞTA ekran nasıl temizlenir.
Élektra

-1

Ben aldım:

import console 
console.clear()

bunu komut dosyanızda yapmak istiyorsanız veya konsoldaysanız, clear () öğesine dokunup enter tuşuna basmanız yeterlidir. Bu iPhone'da Pyto üzerinde çalışır. Yine de konsola bağlı olabilir.


consoleIDLE içinde modül yok .
AKX

Konsol modülü yok diyor.
Musa

-2

Windows'da benim için çalışıyor:

print chr(12)


chr IDLE terminalinde tanınmıyor
wbadry

Teşekkürler Joel. Benim için de çalıştı.

Windows, Spyder IDE de benim için çalışıyor ve istenen sonucu elde etmek için en basit kod gibi görünüyor. {chr (12) formfeed}
Ian

-4

Terminal kullanıyorsanız (ben ubuntu kullanıyorum), o zaman sadece python komut dosyasını temizlemek için klavyeden CTRL+ kombinasyonunu kullanın l, hatta terminal komut dosyasını temizler ...


1
Sadece söylemek, ama soru ekran bir PYTHON SCRIPT IN IDLE, temizliği hakkında.
Élektra

OP belirtilen IDLE.
wbadry

-5

Bunu yapmak için kendi işlevinizi yazmaya gerek yoktur! Python'un yerleşik bir açık işlevi vardır.

Komut istemine aşağıdakileri yazın:

shell.clear()

IPythonWindows için kullanıyorsanız ,

cls()

4
Bunu yapmak için bir tür ithalat gerekli mi, çünkü benim için işe yaramadı. İlgili bir içe aktarma varsa, yanıtınıza eklemelisiniz. Ayrıca, soru IN IDLE bilgi isteminin temizlenmesi ile ilgilidir .
Élektra
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.