Adakah cara untuk menghapus jendela IDLE python?


154

Saya tahu ada topik serupa tentang konsol python, tapi saya tidak tahu apakah mereka sama. Saya mencoba sistem ("hapus") dan tidak berfungsi di sini.

Bagaimana cara menghapus jendela IDLE python?


10
itu bukan duplikat, OP bertanya tentang cara menghapus shell IDLE, bukan konsol
Moha the mighty

1
Alasan ini tidak berhasil adalah karena Python memulai sesi shell baru dan menjalankan perintah cleardi sana. Ini juga menjelaskan mengapa cdtidak berfungsi system.os.
jkd

14
Tahan ctrl + jsebentar dan kemudian tekan enter, Itu akan menjadi cara terbaik
ytpillai

1
@ytpillai, Ah, tapi itu memberi saya prompt di bagian bawah. Sebuah solusi, tidak diragukan lagi, tetapi masih menyebabkan sedikit kenyamanan.
John Red

Jawaban:


97

"Cls" dan "clear" adalah perintah yang akan menghapus terminal (yaitu prompt DOS, atau jendela terminal). Dari tangkapan layar Anda, Anda menggunakan shell di dalam IDLE, yang tidak akan terpengaruh oleh hal-hal seperti itu. Sayangnya, saya tidak berpikir ada cara untuk menghapus layar di IDLE. Yang terbaik yang dapat Anda lakukan adalah menggulir layar ke bawah banyak garis, misalnya:

print "\n" * 100

Meskipun Anda bisa menempatkan ini dalam suatu fungsi:

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

Dan kemudian menyebutnya saat dibutuhkan cls()


13
Itu menghapus layar tetapi Anda masih mendapatkan prompt ">>>" di baris terakhir, bukan di atas, yang saya kira membuat kurang efisien ... masih +1 untuk layar jelas
Invictus

10
Python 3.4.2 - Saya harus membungkus "\ n" dan * 100 dalam tanda kurung, jadi:print ("\n" * 100)
cody.codes

4
Ini tidak akan menghapus layar, saya masih bisa gulir kembali ke atas!
esoterik

2
ctrl + jjuga berfungsi. Mungkin bermanfaat termasuk itu. stackoverflow.com/a/11993793/4871483
ytpillai

1
Perhatikan ini adalah tag python. Khusus bukan versi. Untuk semua pengguna python 3.xprint('\n'*100)
Luke

83

os.system('clear')bekerja di linux. Jika Anda menjalankan windows, coba os.system('CLS')saja.

Anda perlu mengimpor os terlebih dahulu seperti ini:

import os

13
The os.system ('CLS') bekerja di Windows. (Python 2.6). Layar yang dihasilkan dihapus, hanya menampilkan "0", yang saya asumsikan adalah nilai pengembalian untuk CLS, di bagian atas. Baris selanjutnya memiliki prompt >>>.
mjv

35
ini membuat panggilan os ke cls di command prompt eksternal dan tidak berinteraksi dengan Idle
bunglestink

15
idle bukan jendela konsol. Baik clear dan cls beroperasi pada konsol / terminal windows.
Bryan Oakley

16
Pertanyaannya adalah 'clear screen IN IDLE' metode di atas tentu tidak berfungsi di komputer saya
Élektra

21
Mengapa ini dibalik? Ini akan membuka prompt perintah baru, menghapusnya, dan menutupnya
ytpillai

39

Sebagian besar jawaban, di sini membersihkan layar DOS prompt, dengan perintah pembersihan, yang bukan pertanyaannya. Jawaban lain di sini, adalah mencetak garis kosong untuk menunjukkan efek membersihkan layar.

Jawaban paling sederhana dari pertanyaan ini adalah

Tidak mungkin untuk menghapus shell python IDLE tanpa beberapa integrasi modul eksternal. Jika Anda benar-benar ingin mendapatkan shell segar murni kosong, tutup saja shell sebelumnya dan jalankan kembali


3
Ini adalah jawaban yang baik, langsung, dan praktis untuk pertanyaan ini; tutup idle, biarkan file terbuka, jalankan file lagi dan idle sekarang memiliki layar baru.
Mike_K

@ Mike_K, ini bisa berguna, tetapi tidak pernah. Saat ini saya memiliki layar terpisah (buku <|> idle). Ketika saya menjalankan kembali Idle, layar baru muncul di posisi / dimensi default. Jadi, itu akan sangat membosankan.
sdlins

38

ctrl+ Lmembersihkan layar di Ubuntu Linux.


Juga di Red Hat / Fedora / CentOS
DtechNet

1
Di Windows juga, jika Anda menggunakan IDLEx. Bersulang! Sangat senang akhirnya mendapatkan solusi sederhana!
John Red

Tidak bekerja di Ubuntu 18.04. Yang lebih buruk di sini adalah menggunakan CTRL+ Jbeberapa kali.
sdlins

@slinstj yang menutup semuanya di windows
Mubarek

Ditambahkan ke hack hari ini! Juga berfungsi seperti pesona di MacOS!
xtornasol512

21

Perpanjangan untuk membersihkan shell dapat ditemukan di Issue6143 sebagai "permintaan fitur". Ekstensi ini disertakan dengan IdleX .


1
Ini adalah ekstensi yang cemerlang untuk Python Idle. Terima kasih banyak!
Indrajit

19
>>> import os

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

Itu benar-benar sempurna. Tidak ada '0' yang dicetak.


Bagus, sederhana, melakukan apa yang dikatakannya. Atau setelah import oscukup ketik os.system("clear")walaupun fungsinya berguna jika Anda sering perlu menghapus layar.
Dave Everitt

1
os.system ("clear") berfungsi. Ini berfungsi untuk saya, tetapi saya harus mengetikkan "cls ()"
j0h

Ketika saya mencoba ini, baris perintah kembali <function cls at 0x024D25D0> dan konsol tidak jelas
ericgrosse

Jawaban terbaik sejauh ini
hello123

@ ericgrosse Anda perlu mengetikkan cls (), bukan cls
Banoona


7

Cara untuk mengeksekusi perintah dalam Python 2.4+ adalah dengan menggunakan modul subproses . Anda bisa menggunakannya dengan cara yang sama seperti yang Anda gunakan os.system.

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

Jika Anda menjalankan ini di konsol python, Anda harus melakukan sesuatu untuk menyembunyikan nilai kembali (untuk salah satu os.systematau subprocess.call), seperti menugaskannya ke variabel:

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

Traceback (panggilan terakhir terakhir): File "<pyshell # 1>", baris 1, dalam <module> subprocess.call ("cls") File "C: \ Python26 \ lib \ subprocess.py", baris 444, dalam panggil return Popen (* popenargs, ** kwargs) .wait () File "C: \ Python26 \ lib \ subprocess.py", baris 595, dalam init errread, errwrite) File "C: \ Python26 \ lib \ subprocess.py ", line 804, dalam _execute_child startupinfo) WindowsError: [Kesalahan 2] Sistem tidak dapat menemukan file yang ditentukan
melahap elysium.

1
Hmm .. Itulah yang saya dapatkan karena tidak menggunakan Windows dan karenanya tidak bisa mengujinya. Coba subprocess.call ("cls", shell = True)
Rudd Zwolinski


4

File -> Jendela Baru

Di jendela baru **

Jalankan -> Python Shell

Masalah dengan metode ini adalah ia akan menghapus semua hal yang Anda definisikan, seperti variabel.

Atau, Anda harus menggunakan command prompt.

buka command prompt

ketik "cd c: \ python27"

ketik "python example.py", Anda harus mengedit ini menggunakan IDLE ketika tidak dalam mode interaktif. Jika Anda berada di shell python, file -> jendela baru.

Perhatikan bahwa example.py harus berada di direktori yang sama dengan C: \ python27, atau direktori apa pun yang Anda pasang python.

Kemudian dari sini, Anda cukup menekan tombol panah ATAS pada keyboard Anda. Anda cukup mengedit example.py, gunakan CTRL + S, lalu kembali ke command prompt, tekan tombol panah atas, tekan enter.

Jika prompt perintah terlalu ramai, cukup ketik "clr"

Perintah "clr" hanya bekerja dengan command prompt, itu tidak akan bekerja dengan IDLE.


3
Hanya Mengatakan, tetapi saya percaya bahwa pertanyaannya adalah bertanya 'Bagaimana Anda menghapus layar DI IDLE DARI DALAM PYTHON SCRIPT.
Élektra

Memulai file baru dan menjalankan shell Python di dalamnya tampaknya menjadi satu-satunya pilihan yang tersedia bagi saya, tidak ada yang berhasil. Terima kasih!
Sergey Zakharov

4

Sepertinya tidak ada cara langsung untuk membersihkan konsol IDLE.

Salah satu cara saya melakukannya adalah menggunakan exit () sebagai perintah terakhir dalam skrip python saya (.py). Ketika saya menjalankan skrip, selalu membuka konsol baru dan meminta sebelum keluar.

Terbalik: Konsol diluncurkan segar setiap kali skrip dieksekusi. Kelemahan: Konsol diluncurkan segar setiap kali skrip dieksekusi.


2

Anda dapat membuat skrip Autohotkey .

Untuk mengatur ctrl-r ke hotkey untuk menghapus shell:

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

Cukup instal Autohotkey, letakkan di atas dalam file yang disebut idle_clear.ahk, jalankan file, dan hotkey Anda aktif.


2

Tak satu pun dari solusi ini bekerja untuk saya di Windows 7 dan di dalam IDLE. Lanjutkan menggunakan PowerShell, jalankan Python di dalamnya dan keluar untuk memanggil "cls" di PowerShell untuk menghapus jendela.

CONS: Menganggap Python sudah ada dalam variabel PATH. Juga, ini menghapus variabel Python Anda (meskipun demikian restart shell).

PROS: Mempertahankan kustomisasi jendela apa pun yang Anda buat (warna, ukuran font).


2

Tampaknya mustahil untuk melakukannya tanpa perpustakaan eksternal.

Cara alternatif jika Anda menggunakan windows dan tidak ingin membuka dan menutup shell setiap kali Anda ingin menghapusnya adalah dengan menggunakan command prompt windows.

  • Ketik pythondan tekan enter untuk mengubah prompt perintah windows ke python idle (pastikan python diinstal).

  • Ketik quit()dan tekan enter untuk mengubahnya kembali ke command prompt windows.

  • Ketik clsdan tekan enter untuk menghapus command prompt / shell windows.


2

Saya akan merekomendasikan Anda untuk menggunakan IDE Thonny untuk Python. Shell-nya memiliki opsi "Clear Shell" dan Anda juga dapat melacak variabel yang dibuat dalam daftar terpisah. Ini debugging sangat baik bahkan dibandingkan dengan IDE modern. Anda juga dapat menulis kode dalam file python bersama dengan akses ke shell di tempat yang sama.

Dan itu ringan!


2

" command + L " untuk MAC OS X.

" control + L " untuk Ubuntu

Menghapus baris terakhir pada sesi interaktif


Saya tidak tahu tentang fitur ini, terima kasih Selalu tulis apa perintah Anda.
Priyank Pathak

1

Seperti yang dikatakan mark.ribau, tampaknya tidak ada cara untuk menghapus widget Teks dalam keadaan idle. Seseorang harus mengedit EditorWindow.pymodul dan menambahkan metode dan item menu di kelas EditorWindow yang melakukan sesuatu seperti:

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

dan mungkin beberapa manajemen tag lagi yang tidak saya sadari.


1

Cara terbaik untuk melakukannya di windows adalah dengan menggunakan command prompt 'cmd' dan mengakses direktori python prompt perintah dapat ditemukan di menu mulai> run> cmd

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
Hanya Mengatakan, tapi saya percaya bahwa pertanyaannya adalah bertanya 'Bagaimana Anda menghapus layar DI IDLE'. (Penekanan pada IN IDLE)
Élektra

1

Gunakan ini

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

Berhasil, tetapi Anda berakhir dengan jarak gulir yang sangat panjang jika Anda ingin melihat sesuatu dari sebelumnya.
Élektra

Cobalah untuk mengurangi kisaran (1,10):
Tauseef

@Xenon Tetapi jika idenya adalah untuk membersihkan jendela, maka pengguna seharusnya tidak dapat dapat melihat sesuatu dari sebelumnya.
Sam

0

Tangkapan layar Anda menunjukkan Anda menggunakan IDLE. clsSaya cleartidak akan bekerja untuk Anda.


5
Itu bukan jawaban yang bagus; OP tidak meminta "apa yang TIDAK AKAN membantu saya untuk membersihkan jendela IDLE Python".
DeFazer

-1
from subprocess import call as c

def cls():

    c("cls",shell=True)

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

cls()

Setiap kali Anda ingin menghapus konsol, panggil fungsi cls, tetapi perhatikan bahwa fungsi ini akan menghapus layar di Windows hanya jika Anda menjalankan Python Script menggunakan cmd prompt, itu tidak akan menghapus buffer jika Anda menjalankan dengan IDLE.


2
Hanya Mengatakan, tetapi saya percaya bahwa pertanyaannya adalah bertanya 'Bagaimana Anda menghapus layar DI IDLE DARI DALAM PYTHON SCRIPT.
Élektra

-1

Saya mengerti:

import console 
console.clear()

jika Anda ingin melakukannya di skrip Anda, atau jika Anda berada di konsol cukup ketuk jelas () dan tekan enter. Itu bekerja pada Pyto di iPhone. Mungkin tergantung pada konsol.


Tidak ada consolemodul di IDLE.
AKX

Dikatakan tidak ada modul konsol.
Musa

-2

Ini berfungsi untuk saya di Windows:

print chr(12)


chr tidak dikenali di terminal IDLE
wbadry

Joel terima kasih. Bekerja untuk saya juga.

Bekerja untuk saya juga di Windows, Spyder IDE, dan tampaknya menjadi kode paling sederhana untuk mencapai hasil yang diinginkan. {chr (12) adalah formfeed}
Ian

-4

Jika Anda menggunakan terminal (saya menggunakan ubuntu), maka cukup gunakan kombinasi CTRL+ ldari keyboard untuk menghapus skrip python, bahkan menghapus skrip terminal ...


1
Hanya mengatakan, tetapi pertanyaannya adalah tentang membersihkan layar DI IDLE, DARI A PYTHON SCRIPT.
Élektra

OP IDLE yang ditentukan.
Wbadry

-5

Tidak perlu menulis fungsi Anda sendiri untuk melakukan ini! Python memiliki fungsi yang jelas.

Ketik yang berikut ini di command prompt:

shell.clear()

Jika menggunakan IPythonuntuk Windows, itu

cls()

4
Apakah ada semacam impor yang diperlukan untuk melakukan ini, karena itu tidak berhasil untuk saya. Jika ada impor yang terlibat, Anda harus memasukkannya ke dalam respons Anda. Juga, pertanyaannya adalah tentang menghapus IN IDLE prompt .
Élektra
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.