Bildschirminhalt leeren
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ähm... nein?Dill hat geschrieben:mac = macOs = linux = posix
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
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."
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."
- nkoehring
- User
- Beiträge: 543
- Registriert: Mittwoch 7. Februar 2007, 17:37
- Wohnort: naehe Halle/Saale
- Kontaktdaten:
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
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2
*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.
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.
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.
-
- User
- Beiträge: 97
- Registriert: Donnerstag 26. Oktober 2006, 15:01
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...sprudel hat geschrieben:Und ich dachte damit geht alles... so kann man sich täuschenMasaru hat geschrieben:Nö
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...