Unter anderem denken, daß sich bei Python nichts getan hat. Inzwischen gibt es nämlich das subprocess-Modul. Keine Ahnung, was Gerold bei seinem Beispiel geritten hat.Larucio hat geschrieben:Aber der Bildschirm wird noch nicht gelöscht? Was mach ich falsch?
konsole löschen
Vielleicht, dass 2.4 erst sechs Monate nach seinem Beitrag erschienen ist? Nur so eine VermutungCM hat geschrieben:Keine Ahnung, was Gerold bei seinem Beispiel geritten hat.
Das Leben ist wie ein Tennisball.
Egal, ob mit os- oder subprocess-Modul: Ich wüsste nicht, wie man in diesem Fall mit 'try:..except:..' weiterkommt...
Es geht doch nicht darum, eine exception abzufangen, sondern das, was vom OS-Befehl zurückgegeben wird:
mutetella
EDIT: Meine Anmerkung zum curses-Modul war Blödsinn, da Du ja unter Windows arbeitest.
Allerdings könntest Du Dir mal Console anschauen. Ist ja vielleicht interessant...
Es geht doch nicht darum, eine exception abzufangen, sondern das, was vom OS-Befehl zurückgegeben wird:
Code: Alles auswählen
import subprocess
def clear_screen():
if subprocess.call('cls', shell=True) > 0:
subprocess.call('clear', shell=True)
EDIT: Meine Anmerkung zum curses-Modul war Blödsinn, da Du ja unter Windows arbeitest.
Allerdings könntest Du Dir mal Console anschauen. Ist ja vielleicht interessant...
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit )
Auch mit 2.4 wird try/except keine Lösung gewesen sein.EyDu hat geschrieben:Vielleicht, dass 2.4 erst sechs Monate nach seinem Beitrag erschienen ist? Nur so eine Vermutung
mutetellas Lösung finde ich gut. subprocess.call() oder .check_call() erlauben auch das Verwenden von try/except-Konstrukten, bei mir zumindest gibt subprocess.call('cls') einen OSError. Sauberer und schöner scheint mir aber mutetellas Lösung, auch wenn try/except im allgemeinen pythonischer ist.
@derdon: Probiere es aus: Ohne Shell löst subprocess eine Ausnahme aus, wenn die auszuführende Datei nicht existiert. Mit dagegen erhält man von der Shell einen Rückgabewert ungleich 0.