Wie kann ich in Python Systemdaten abfangen?

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.
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

Dennoch finde ich es nicht gerade als genial wenn "print" als "write()" oder als "font.render()" - den man in pygame nutzen sollte - genutzt wird.
Das ist doch einfach ein schlichter Missbrauch, zumal die anderen Methoden bei weitem bessere Möglichkeiten anbieten.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

Das ist kein Missbrauch sondern eine elegante Methode, die Ausgabe dorthin zu biegen, wo man sie braucht, z.B. in einer Liste:

Code: Alles auswählen

>>> class Foo(list):
...   def write(self, s):
...     self.append(s)
...
>>> import sys
>>> sys.stdout = Foo()
>>> print 'hello', 1
>>> print Foo
>>> sys.__stdout__.write(repr(sys.stdout))
['hello', ' ', '1', '\n', "<class '__main__.Foo'>", '\n']>>>
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

Naja, ich finde das nicht gerade als Lesbarkeit fördernd,
wenn "print" zum einen für mehrere Zwecke im selben Script benutzt wird.

Solange "print" immer gleich benutzt wird ok, aber bei Unterschiedlichen verwendungszwecken, sollte man gerade bei Toolkits, die bereitgestellten Methoden nutzen.

Dennoch ändert das nichts an der Tatsache, das
dodo hat geschrieben:Weil Ubuntu gibt prints und so auf der grafischen nich aus...
mit Ubuntu nichts zutun hat.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Benutzeravatar
dodo
User
Beiträge: 73
Registriert: Mittwoch 10. November 2010, 13:43

?????? Ich kriegs net hin, den Screenshot zu speichern...

Und was das mit 'Das hat mit Linux nichts zutuhen' stimmt wenn dann nur bedingterweise:
Windows zeigt die Printausgaben im neuen Fenster an!
Geht nicht gibts nicht(Das gilt auch für Python)!
Benutzeravatar
dodo
User
Beiträge: 73
Registriert: Mittwoch 10. November 2010, 13:43

ich hat geschrieben:?????? Ich kriegs net hin, den Screenshot zu speichern...

Und was das mit 'Das hat mit Linux nichts zutuhen' stimmt wenn dann nur bedingterweise:
Windows zeigt die Printausgaben im neuen Fenster an!
Tja, da is wohl was mit Python auf Windows schiefgelaufen, Windows hat einen Terminal unerlaubterweise geöffnet oder was mit dem Installationsprogramm war mit bugs!
Geht nicht gibts nicht(Das gilt auch für Python)!
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Ich verweise noch einmal auf meinen Post, den Du augenscheinlich geflissentlich ignoriert hast: http://python-forum.de/viewtopic.php?p=184743#p184743
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Antworten