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.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

dodo hat geschrieben:Bei dem Satz mit Finden meine ich in der Liste

Code: Alles auswählen

[code]sys.argv
[/code]
Danke schon im Voraus!
Ah so, Du "patchst" jetzt Deine vorherigen Posts und wir sollen uns aus den "diffs" dann den Sinn zusammensetzen? :twisted:

Mal im Ernst: Lies doch selber mal deine Beiträge kritisch und stelle Dir vor, jemand, der von dem Kontext null Ahnung hat, soll das Problem verstehen. Dann wirst Du feststellen, dass Informationen fehlen und Du Dich einfach unpräzise ausdrückst!

Du postest hier die Liste sys.argv. Was willst Du denn wissen, was darin steht? Das ist doch dynamisch und hängt von Deinem Script und dem Aufruf ab! Vor allem kannst Du es Dir ja auch leicht anzeigen lassen, was da drin steht!
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
dodo
User
Beiträge: 73
Registriert: Mittwoch 10. November 2010, 13:43

Nagut, dann werde ich es mal probieren...
Und wegen sys.argv : ich meine, in dieser Liste, wo liegt der Dateiname, wo der Pfad in der Liste?

Und dazu noch: Dazu muss ich wissen, wie man Text in Pygame ausgibt *seufz*
Weil Ubuntu gibt prints und so auf der grafischen nich aus...
Zuletzt geändert von dodo am Donnerstag 11. November 2010, 15:23, insgesamt 1-mal geändert.
Geht nicht gibts nicht(Das gilt auch für Python)!
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Vielleicht programmierst du es mal so weit, dass du es ausprobieren kannst. Dann erledigen sich die meisten Fragen schon ganz von alleine ;-)
Das Leben ist wie ein Tennisball.
Benutzeravatar
dodo
User
Beiträge: 73
Registriert: Mittwoch 10. November 2010, 13:43

EyDu hat geschrieben:Vielleicht programmierst du es mal so weit, dass du es ausprobieren kannst. Dann erledigen sich die meisten Fragen schon ganz von alleine ;-)
Hab ich ja schon, bloß das mit dem 'Öffnen mit' hab ich noch nich hinbekommen!
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:

dodo hat geschrieben: Hab ich ja schon, bloß das mit dem 'Öffnen mit' hab ich noch nich hinbekommen!
Ok, dann zeig uns doch mal Deinen Code. Zudem erstelle einen Screenshot, der zeigt, wie Du Dein "Öffnen mit" angehst.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
dodo
User
Beiträge: 73
Registriert: Mittwoch 10. November 2010, 13:43

Wie geht Bild einfügen?
Bin neu im Forum

Und was Code angeht:
Das ganze geht über sehr viele Dateien und Ordner...
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:

Einrückungen sollten laut PEP8 immer 4 Spaces sein.

@Code: Ich sehe hier nirgends sys.argv? Der Code steht doch in keinerlei Kontext zu Deiner Frage!

Zum Thema Bild einfügen: Guck doch mal oben über dem Eingabefeld den Img Button ;-)

Erstelle doch mal ein lauffähiges Minimalbeispiel, welches demonstriert, was Du tun willst.

Bisher habe ich Dich so verstanden, dass Du in einem Dateimanager mittels Rechtsklick auf einer Daten-Datei (z.B. eine Textdatei der Einfachheit halber) diese Datei mit dem von Dir erstellten Python-Script öffnen willst. Ist das so weit korrekt?

Edit: Du solltest den Code-Schnipsel mal dringend aus Deiner Signatur rausnehmen :roll:

Im Moment steht unter jedem Beitrag von Dir:

Code: Alles auswählen

print "HALLO"
a = "3"
while a == "3":
 print "Weiter mit 3"
 a = raw_input()
 print "Du hast geschrieben:", a
print "Das war keine 3!"
import time
time.sleep(3)
quit()
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

dodo hat geschrieben:Weil Ubuntu gibt prints und so auf der grafischen nich aus...
Sag mal wie stellst du dir das eigentlich vor ?
Egal ob Ubuntu, Sun, Windows, Mac oder irgendeinem anderen OS wird da jemals passieren.

"print" ist NUR für Terminal/shell/Konsolen ausgaben.
Zugegeben, man kann damit noch Dateien füttern, ist aber nicht angebracht.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
BlackJack

@Xynon1: Ist ein bisschen pauschal. ``print`` landet normalerweise auf `sys.stdout` und das kann man durch ein eigenes Objekt ersetzen, welches die `write()`-Aufrufe dann auf einem `pygame.Surface` pinselt. Die Ausgaben von ``print`` in IDLE oder anderen IDEs laufen ja so ähnlich.
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