Seite 1 von 2

Re: konsole löschen

Verfasst: Montag 29. August 2011, 14:32
von CM
Larucio hat geschrieben:Aber der Bildschirm wird noch nicht gelöscht? Was mach ich falsch?
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.

Re: konsole löschen

Verfasst: Montag 29. August 2011, 14:38
von EyDu
CM hat geschrieben:Keine Ahnung, was Gerold bei seinem Beispiel geritten hat.
Vielleicht, dass 2.4 erst sechs Monate nach seinem Beitrag erschienen ist? Nur so eine Vermutung :wink:

Re: konsole löschen

Verfasst: Montag 29. August 2011, 16:40
von mutetella
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:

Code: Alles auswählen

import subprocess

def clear_screen():
    if subprocess.call('cls', shell=True) > 0:
        subprocess.call('clear', shell=True)
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...

Re: konsole löschen

Verfasst: Montag 29. August 2011, 17:54
von CM
EyDu hat geschrieben:Vielleicht, dass 2.4 erst sechs Monate nach seinem Beitrag erschienen ist? Nur so eine Vermutung :wink:
Auch mit 2.4 wird try/except keine Lösung gewesen sein. ;-)

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.

Re: konsole löschen

Verfasst: Montag 29. August 2011, 18:32
von derdon
Und warum muss shell=True sein?

Re: konsole löschen

Verfasst: Montag 29. August 2011, 20:05
von lunar
@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.

Re: konsole löschen

Verfasst: Dienstag 30. August 2011, 12:39
von derdon
Achso, danke!