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
dodo
User
Beiträge: 73
Registriert: Mittwoch 10. November 2010, 13:43

OK, danke, damit wäre die Frage geklärt, zumindest für Kommandozeilen. Dann bleibt nur noch das 'Öffnen mit'.
Geht nicht gibts nicht(Das gilt auch für Python)!
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

Soll ich dir mal aufzählen welche Funktionen ich schon genutzt habe ???

Erstens bringt es überhaupt nichst wenn du Module runter zählst (oder Funktionen).
Zweitens ist sys.exit() nicht gerade etwas womit man angeben kann, da diese Funktion nur in sehr wenigen Fällen überhaupt genutzt werden sollte.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Das "Öffnen mit" hat nur bedingt etwas mit Python zu tun. Wenn du Google mit "windows add open with" fütterst, dann wirst du sicher herausfinden, wie du ein Programm hinzufügen kannst und in welcher Form die Daten in dein Programm kommen.
Das Leben ist wie ein Tennisball.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

dodo hat geschrieben:OK, danke, damit wäre die Frage geklärt, zumindest für Kommandozeilen. Dann bleibt nur noch das 'Öffnen mit'.
Inwiefern? Das ist ja wie gesagt kein Python-Problem, sondern hängt eben von den Einstellungen bzw. den Einstellmöglichkeiten des jeweiligen Desktop-Systems ab.
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

OK?
Geht nicht gibts nicht(Das gilt auch für Python)!
Benutzeravatar
dodo
User
Beiträge: 73
Registriert: Mittwoch 10. November 2010, 13:43

Kann man das nich irgendwie mit

Code: Alles auswählen

import sys
sys.argv
machen?
Geht nicht gibts nicht(Das gilt auch für Python)!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ähm, ja, der Dateiname ist nachher in sys.argv zu finden, ja. Aber das hat mit "Öffnen mit" nur indirekt zu tun.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
dodo
User
Beiträge: 73
Registriert: Mittwoch 10. November 2010, 13:43

Wieso? Der Benutzer des Betriebssystems kann es ja mit reinbauen...
Das kann ich auch selber ausprobieren wo die Datei, wos drinnsteht, das Dateien mit dieser Endung hinnkommt - aber wo ist der Dateiname dort zu finden? Und jetzt kommt das wichtige: Wo ist der Pfad? Ohne den gehts schlecht :K
Und an welcher Stelle?
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:Wieso? Der Benutzer des Betriebssystems kann es ja mit reinbauen...
Das kann ich auch selber ausprobieren wo die Datei, wos drinnsteht, das Dateien mit dieser Endung hinnkommt - aber wo ist der Dateiname dort zu finden? Und jetzt kommt das wichtige: Wo ist der Pfad? Ohne den gehts schlecht :K
Und an welcher Stelle?
Hö? Ich kapiere (mal wieder) nichts von Deinem Geschreibsel. Kannst Du Dir nicht ein wenig mehr Mühe geben, exakt zu beschreiben, wo Du stehst, was Du an Problemen siehst und dann gezielt nach Lösungen fragen?
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

Bei dem Satz mit Finden meine ich in der Liste

Code: Alles auswählen

sys.argv
Danke schon im Voraus!
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: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.
Antworten