Podobnie jak większość programistów Python, zazwyczaj utrzymuję otwarte okno konsoli z uruchomionym interpreterem Python, aby przetestować polecenia, dir()
rzeczy help() stuff
itp.
Jak każda konsola, po pewnym czasie widoczny zaległości poprzednich poleceń i wydruków staje się zagracony, a czasem mylący przy ponownym uruchomieniu tego samego polecenia kilka razy. Zastanawiam się, czy i jak wyczyścić konsolę interpretera Pythona.
Słyszałem o wykonywaniu wywołania systemowego i albo cls
w Windowsie, albo clear
w Linuksie, ale miałem nadzieję, że jest coś, co mógłbym polecić samemu tłumaczowi.
Uwaga: działam w systemie Windows, więc Ctrl+L
nie działa.
Odpowiedzi:
Jak wspomniałeś, możesz wykonać wywołanie systemowe:
Dla Windowsa
W Linuksie staje się lambda
źródło
def
? Po co używać a,lambda
gdydef
jest jaśniejsze?clear = lambda: os.system('cls') or None
tutaj coś przydatnego, co jest trochę bardziej wieloplatformowe
źródło
import os
os.system('cls')
Oto szybki hack:
Lub, aby zapisać trochę pisania, umieść ten plik w ścieżce wyszukiwania w Pythonie:
Następnie możesz to zrobić z tłumacza, jak chcesz :)
źródło
"\x1B[H\x1B[J"
clear
icls
zrobić. To jest sposób, aby to zrobić. (po prostu print lub funkcja z wywołaniem print, oczywiście nie przypisująca „czystego” ciągu)clear
generuje dyrektywę, która czyści ekran. Bez usuwania bufora przewijania. W moim systemie, wyprowadza tę sekwencję sterowania:\33[3J\33[H\33[2J
. Czyli:[erase scrollback]
[reset cursor position]
[erase screen]
.[erase scrollback]
Można pominąć użyciuclear -x
.Chociaż jest to starsze pytanie, pomyślałem, że mógłbym napisać coś podsumowującego to, co według mnie było najlepszą z pozostałych odpowiedzi, i dodać własną zmarszczkę, sugerując, aby umieścić te polecenia w pliku i ustawić PYTHONSTARTUP zmienna środowiskowa, aby na nią wskazać. Ponieważ jestem obecnie w systemie Windows, jest to nieco stronnicze w ten sposób, ale można go łatwo zmienić w innym kierunku.
Oto kilka artykułów, które opisałem, jak ustawić zmienne środowiskowe w systemie Windows:
Kiedy używać sys.path.append, a kiedy modyfikujesz% PYTHONPATH% wystarczy
Jak zarządzać zmiennymi środowiskowymi w Windows XP
Konfigurowanie zmiennych środowiskowych systemu i użytkownika
Jak korzystać z globalnego systemu Zmienne środowiskowe w systemie Windows
BTW, nie umieszczaj cudzysłowów wokół ścieżki do pliku, nawet jeśli ma w nim spacje.
Tak czy inaczej, oto moje zdanie na temat kodu do umieszczenia (lub dodania do istniejącego) skryptu uruchamiania Python:
BTW, możesz również użyć sztuczki @ Triptych,
__repr__
aby zmienić sięexit()
na justexit
(i to samo dla jej aliasuquit
):Na koniec, oto coś innego, co zmienia główny monit interpretera z
>>>
na cwd +>>>
:źródło
__repr__
i / lub w__str__
ten sposób jest to, że jeśli wpiszesz>>> vars()
w konsoli tłumacza, wykona wszystkie tak zdefiniowane polecenia. Na przykład w moim systemie wyczyściłem ekran, a następnie opuściłem konsolę. Zajęło mi trochę czasu, żeby dowiedzieć się, co się do cholery dzieje ...locals()
iglobals()
. Prosty dekorator wokół tych funkcji, który usuwa nazwę i przypisuje ją ponownie po wywołaniu funkcji, jest możliwym rozwiązaniem ...Istnieje wiele sposobów wykonywania tego w systemie Windows:
1. Za pomocą skrótu klawiaturowego:
2. Przy użyciu metody invoke systemu:
3. Przy użyciu nowego wydruku linii 100 razy:
źródło
cls
będzie działać tylko w systemie Windows i sprawi, że Twój program będzie trudny do przejścia na wiele platform, drukowanie 100newlines
to po prostu ... eww? W programie nie jest używany skrót klawiaturowy.Najszybszym i najłatwiejszym sposobem bez wątpienia jest Ctrl+L .
To samo dotyczy OS X na terminalu.
źródło
moim sposobem jest napisanie takiej funkcji:
następnie zadzwoń,
clear()
aby wyczyścić ekran. Działa to na Windows, OSX, Linux, BSD ... wszystkich systemach operacyjnych.źródło
os.name in ('linux','osx')
, a także możesz chcieć dodać'posix'
.os.name == 'posix'
zarówno w Pythonie 2.7.9, jak i 3.4.3Oto wieloplatformowy (Windows / Linux / Mac / Prawdopodobnie inne, które można dodać w sprawdzeniu if) fragment wersji, który utworzyłem, łącząc informacje znalezione w tym pytaniu:
Ten sam pomysł, ale z łyżką cukru syntaktycznego:
źródło
Wiper jest fajny, dobrą rzeczą jest to, że nie muszę wpisywać wokół niego „()”. Oto niewielka odmiana
Użycie jest dość proste:
źródło
class cls
.class Cls
byćcls
.cls = Cls()
class cls
i wtedycls=cls()
.Jest to najprostsza rzecz, którą możesz zrobić i nie wymaga ona żadnych dodatkowych bibliotek. Wyczyści ekran i powróci
>>>
do lewego górnego rogu.źródło
dla użytkowników komputerów Mac wewnątrz konsoli typu Python
dla Windowsa
źródło
Oto ostateczne rozwiązanie, które łączy wszystkie inne odpowiedzi . Funkcje:
Możesz go używać , jak chcesz:
Możesz zaimportować go jako moduł:
Możesz to nazwać skryptem:
To jest naprawdę wieloplatformowe ; jeśli nie może rozpoznać systemu
(
ce
,nt
,dos
lubposix
) spadnie z powrotem do drukowania pustych linii.Możesz pobrać [pełny] plik tutaj: https://gist.github.com/3130325
Lub jeśli po prostu szukasz kodu:
źródło
Używam iTerm i natywnej aplikacji terminalowej na Mac OS.
Po prostu naciskam ⌘ + k
źródło
Użyj bezczynności. Ma wiele przydatnych funkcji. Ctrl+F6, na przykład resetuje konsolę. Zamykanie i otwieranie konsoli to dobry sposób na jej wyczyszczenie.
źródło
F6
jednak nie resetuje bezczynnej konsoliCTRL+F6
. Niestety nie powoduje to wyczyszczenia ekranu. Nie! (Python Win32 bezczynne wersje 2.6.2, 2.7.1, 3.2).Nie jestem pewien, czy „powłoka” systemu Windows obsługuje to, ale w systemie Linux:
print "\033[2J"
https://en.wikipedia.org/wiki/ANSI_escape_code#CSI_codes
Moim zdaniem dzwonienie
cls
zos
jest ogólnie złym pomysłem. Wyobraź sobie, że uda mi się zmienić polecenie cls lub clear w twoim systemie, a ty uruchomisz skrypt jako administrator lub root.źródło
Używam MINGW / BASH na Windows XP, SP3.
(wklej to w .pythonstartup)
# Mój ctrl-l już trochę działał, ale może to pomóc komuś innemu
# pozostawia monit w dolnej części okna ...
importuj readline
readline.parse_and_bind ('\ Cl: clear-screen')
# Działa to w BASH, ponieważ mam go również w .inputrc, ale z jakiegoś
# powodu jest upuszczany, kiedy
wchodzę do Pythona readline.parse_and_bind ('\ Cy: kill-whole-line')
Nie mogłem już znieść pisania „exit ()” i byłem zachwycony sztuczkami Martineau / Triptych:
Lekko to napisałem (utknąłem w .pythonstartup)
źródło
Komenda systemu operacyjnego
clear
Linux icls
Windows wyświetla „magiczny ciąg”, który można po prostu wydrukować. Aby pobrać ciąg, wykonaj polecenie popen i zapisz go w zmiennej do późniejszego użycia:Na mojej maszynie jest ciąg
'\x1b[H\x1b[2J'
.źródło
\x1b[H
oznacza „przesuń kursor do lewego górnego rogu”,\x1b[2J
oznacza „wyczyść cały ekran”. 2) W Windows ANSI nie jest rozpoznawany, więc prawdopodobnie nie ma żadnego magicznego ciągu.Oto dwa fajne sposoby na zrobienie tego:
1.
2)
źródło
Jeśli jest na Macu, prosty
cmd + k
powinien załatwić sprawę .źródło
Najprostszym sposobem jest użycie modułu os
źródło
Powinno to być wieloplatformowe, a także korzysta z preferowanego
subprocess.call
zamiastos.system
zgodnie zos.system
dokumentami . Powinien działać w Pythonie> = 2.4.źródło
Co powiesz na to dla jasności
To jest tak krótkie, jak mogłoby być!
źródło
Jestem nowy w Pythonie (naprawdę naprawdę nowy) iw jednej z książek, które czytam, aby zapoznać się z językiem, którego uczą, jak utworzyć tę małą funkcję, aby wyczyścić konsolę z widocznego zaległości oraz poprzednich poleceń i wydruków:
Otwórz powłokę / Utwórz nowy dokument / Utwórz funkcję w następujący sposób:
Zapisz go w folderze lib w swoim katalogu python (mój to C: \ Python33 \ Lib) Następnym razem, gdy będziesz musiał wyczyścić konsolę, po prostu wywołaj funkcję za pomocą:
Otóż to. PS: możesz nazwać swoją funkcję w dowolny sposób. Iv „widział ludzi używających„ wycieraczek ”,„ wycierania ”i odmian.
źródło
Używam Spyder (Python 2.7) i do czyszczenia konsoli interpretera używam jednego z nich
%jasny
to zmusza linię poleceń do przejścia na górę i nie zobaczę poprzednich starych poleceń.
lub klikam „opcja” w środowisku konsoli i wybieram „Uruchom ponownie jądro”, który usuwa wszystko.
źródło
Mogę się spóźnić, ale tutaj jest to bardzo łatwy sposób
Rodzaj:
Więc cokolwiek chcesz wyczyścić ekran, po prostu wpisz swój kod
Najlepszy możliwy sposób! (Źródło: https://www.youtube.com/watch?annotation_id=annotation_3770292585&feature=iv&src_vid=bguKhMnvmb8&v=LtGEp9c6Z-U )
źródło
Po prostu wejdź
źródło
Jeśli nie musisz tego robić za pomocą kodu, po prostu naciśnij CTRL + L
źródło
Arch Linux (testowany w
xfce4-terminal
Pythonie 3):... dodano do
~/.pythonrc
clear()
czyści ekranwipe()
czyści cały bufor terminalaźródło
EDYCJA: Właśnie przeczytałem „Windows”, to jest dla użytkowników Linuksa, przepraszam.
W bash:
Zapisz go jako „whatyouwant.sh”, chmod + x, a następnie uruchom:
lub coś innego niż python (bezczynny, cokolwiek). Spyta cię, czy naprawdę chcesz wyjść, jeśli nie, uruchom ponownie Pythona (lub polecenie podane jako parametr).
Spowoduje to wyczyszczenie całego ekranu i wszystkich zmiennych / obiektów / wszystkiego, co utworzyłeś / zaimportowałeś w pythonie.
W pythonie wystarczy wpisać exit (), kiedy chcesz wyjść.
źródło
OK, więc jest to o wiele mniej techniczna odpowiedź, ale używam wtyczki Python dla Notepad ++ i okazuje się, że możesz po prostu wyczyścić konsolę ręcznie, klikając ją prawym przyciskiem myszy i klikając „wyczyść”. Mam nadzieję, że to pomoże komuś tam!
źródło