Bildschirminhalt leeren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
Dill
User
Beiträge: 470
Registriert: Mittwoch 10. Januar 2007, 14:52
Wohnort: Köln

mac = macOs = linux = posix
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dill hat geschrieben:mac = macOs = linux = posix
Ähm... nein?

Mac ist der Computer, Mac OS das dort verwendete OS, bis es von Mac OS X ersetzt wurde, welches auf BSD basiert welches mehr oder weniger POSIX-kompatibel sein sollte.

Und das alte Mac OS definiert os.name nicht als POSIX, Mac OS X schon eher. Andererseits ist das alte Mac OS eigentlich inzwischen auch vernachlässigbar.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Dill
User
Beiträge: 470
Registriert: Mittwoch 10. Januar 2007, 14:52
Wohnort: Köln

ich habe hier doch den universellen überladenen = operator benutzt.

was ich eigentlich sagen wollte:

"Mac ist der Computer, Mac OS das dort verwendete OS, bis es von Mac OS X ersetzt wurde, welches auf BSD basiert welches mehr oder weniger POSIX-kompatibel sein sollte." :)
Benutzeravatar
nkoehring
User
Beiträge: 543
Registriert: Mittwoch 7. Februar 2007, 17:37
Wohnort: naehe Halle/Saale
Kontaktdaten:

Leonidas hat geschrieben:Mac ist der Computer, Mac OS das dort verwendete OS, bis es von Mac OS X ersetzt wurde, welches auf BSD basiert welches mehr oder weniger POSIX-kompatibel sein sollte.
MacOSX ist absolut POSIX-kompatibel. Der BSD-Kern unter MacOSX hat nur in Sachen Treibern nennenswerte Veraenderungen erlebt. Ansonsten laeuft also auf dem Mac so gut wie alles, was auch auf dem entsprechenden BSD laeuft oder ist zumindest leicht portierbar, wenn es um wirklich systemnahe Sachen geht. Bei solchen Escape-Sequenzen zB waere ich mir nicht so sicher, da die ja nicht Shell- sondern Terminalabhaengig sind. Aber nur weil ein XTerm auf jedem Mac existiert und laeuft, heißt das ja nicht, dass es der Standard dort ist. In dem Sinne ist ein ``system(clear)`` wohl doch um einiges sicherer ;)
[url=http://www.python-forum.de/post-86552.html]~ Wahnsinn ist auch nur eine andere Form der Intelligenz ~[/url]
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2
Benutzeravatar
Masaru
User
Beiträge: 425
Registriert: Mittwoch 4. August 2004, 22:17

*hustet* wenn ein "clear screen" so wichtig für eine Anwendung ist, die auf mehrere (eventuell gar allen) Betriebsysstemen laufen soll ... dann sollte man bedenken, dass dies ebenso ein irrealer Wunsch von der Programmiersprache ist, wie dass Python 100%ig auf jede Frage eine Antwort hätte ;).

Irgendwann kommt man immer an einen Punkt, wo man einsehen muss (oder besser gesagt: sollte), dass man mit den gegebenen Möglichkeiten oder Anforderungen nicht weiter kommt und Abstriche machen oder gar andere Richtungen einschlagen muss.

Z.B. wenn ein Clear Screen ein "muss" ist und es auf Plattformen laufen soll, für die man nicht immer einen entsprechenden CommandoShell-Befehl vorrausetzen kann ... dann sollte man evntuell überlegen, ob die Lösung nicht eventuell in einer GUI-Form besser geeignet wäre, als die zuerst eingeschlagene CommandoShellScript-Version.
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Wenn das Programm den ganzen Bereich des Terminals oder ein Fenster oder den Bildschirm füllen soll, dann sollte man sich (n)curses, wx/Tk/..., pygame oder dergleichen bedienen. Wenn das Programm nur ein paar Zeilen auf STDOUT schreibt, dann braucht man kein Clearscreen. Davon ab verhindert man damit, dass man das Kommando samt Parametern sehen kann, mit dem das Programm aufgerufen wurde.
oliver1974
User
Beiträge: 97
Registriert: Donnerstag 26. Oktober 2006, 15:01

sprudel hat geschrieben:
Masaru hat geschrieben::D
Und ich dachte damit geht alles... so kann man sich täuschen :lol:
Na ja, es ist wohl nicht Aufgabe der Sprache selber, Funktionalität für das Handling der Konsole mitzubringen, sowas gehört meines Erachtens nach immer in eine Library bzw. in externe Befehle... 8)

Sieh's mal so, die ganzen Plattformabhängigen Geschichten hast du ja auch schon in extra Modulen wie z.B. "os", man könnte jetzt nur noch darüber sinnieren ob man "ncurses" oder etwas ähnliches standardmäßig mitliefern sollte....

Bei Java sieht's z.B. auch nicht besser aus, von Haus aus gibts da auch nichts um "mal so eben" mit einem eingebauten Befehl den Konsoleninhalt löschen zu können... Aber das ist konsolenmäßig eh ziemlich schwach auf der Brust, man merkt irgendwie schon, dass es von Anfang an gleich eher für einen Dialog mit dem Benutzer via GUI konzipiert worden ist...
Antworten