Seite 1 von 3
Wie kann ich in Python Systemdaten abfangen?
Verfasst: Mittwoch 10. November 2010, 14:07
von dodo
Ich möchte ein Programm schreiben, was man direkt bei der Datei mit 'Öffnen mit' starten kann.
Kann mir da jemand helfen?
Grüße schon im Voraus, euer 'dodo'
Re: Wie kann ich in Python Systemdaten abfangen?
Verfasst: Mittwoch 10. November 2010, 14:12
von Hyperion
dodo hat geschrieben:Ich möchte ein Programm schreiben, was man direkt bei der Datei mit 'Öffnen mit' starten kann.
Kapiere ich nicht! Kannst Du das mal bitte genauer erklären! (Was für ein OS, woher stammt der Aufruf, was soll das bewirken, ...?)
Re: Wie kann ich in Python Systemdaten abfangen?
Verfasst: Mittwoch 10. November 2010, 14:18
von dodo
Ich dachte, das man das kapiert...
Aber nagut:
Ich möchte ein Programm machen, was man per Rechtsklick unter 'Öffnen mit' auswählen kann, und da Programm die Datei öffnet.
Und ich weiß nich wie das geht, drum frag ich ja.
Re: Wie kann ich in Python Systemdaten abfangen?
Verfasst: Mittwoch 10. November 2010, 14:19
von dodo
Ach ja, und das soll man mit Mac, Linux und Windows funktionieren.
Und mehr mag ich nich verraten, wegen Ideenklau

Re: Wie kann ich in Python Systemdaten abfangen?
Verfasst: Mittwoch 10. November 2010, 14:21
von Xynon1
Bleibt die Frage "Was für ein OS"
Aber jemand der diese Frage nicht beantworten kann, nutzt höchst warscheinlich Windows.
Das Öffnen mit, unter Windows wird von Windows selbst verwaltet und enhält lediglich verknüpfungen auf Programme, wenn du dort ein Programm rein packen willst, kannst du das gerne machen.
Edit: Ich kenn keine "Öffnen mit" Funktion in einer Linux-Distribution, bei Mac weiß ich es nicht.
Dein Script muss nur ein Datei als Parameter erwarten, dann ist das kein Problem.
Re: Wie kann ich in Python Systemdaten abfangen?
Verfasst: Mittwoch 10. November 2010, 14:22
von dodo
Dann muss ichs wohl für alle einzeln programmieren

ich meine für alle Betriebssysteme...
Fangen wir mit Windows an.(Wenn das Betriebssystem mit 'OS' gemeint war...)
Re: Wie kann ich in Python Systemdaten abfangen?
Verfasst: Mittwoch 10. November 2010, 14:25
von Xynon1
Es wäre schön zuwissen was das überhaupt für ein murks wird ?
Wenn du es also mal etwas detailierter ausführen könntest.
Re: Wie kann ich in Python Systemdaten abfangen?
Verfasst: Mittwoch 10. November 2010, 14:29
von dodo
Nagut...
Es soll ein eigenes 'Betriebssystem' auf einem Betriebssystem sein. Man soll Dokumente des virtuellen Betriebssystems direkt über rechtsklick öffnen können, wobei dies gestartet wird, und das Dokument dort gleich geöffnet wird.
Ich versuchs mit Pygame.
Re: Wie kann ich in Python Systemdaten abfangen?
Verfasst: Mittwoch 10. November 2010, 14:37
von Hyperion
dodo hat geschrieben:Nagut...
Es soll ein eigenes 'Betriebssystem' auf einem Betriebssystem sein. Man soll Dokumente die virtuellen Betriebssystems direkt über rechtsklick öffnen können, wobei dies gestartet wird, und das Dokument dort gleich geöffnet wird.
Ich versuchs mit Pygame.
Ich kapiere wieder nichts!
@dodo: Du kannst innerhalb eines Python-Programms Parameter abfragen, die beim Start übergeben wurden. Manuell greift man dabei auf sys.args zurück. Allerdings gibt es dafür auch hübsche Module, wie etwa argparse (ab Python 2.7 an Bord) oder optparse.
Wobei ich mich dann doch frage: Jemand, der solche Fragen wie Du stellt, ist imho für pygame noch nicht wirklich bereit. Arbeite zunächst doch mal das Tutorial durch und erlerne die Grundlagen. Dabei klären sich dann auch viele triviale Fragen Deinerseits.
Ansonsten guck auch mal hier ins wiki:
wiki.python-forum.de
Dort finden sich auch viele Infos rund um das Thema Python; u.a. werden auch Dinge wie "wie starte ich Scripts" behandelt.
Zum Thema "Öffnen mit": Du willst also einem Dateitypen ein Python-Script zuweisen, welches gestartet werden soll und dem dann "automatisch" das gewählte Dokument übergeben wird? Das sollte einfach mit oben genannten Mitteln gehen. Allerdings sind die Einstellungen des "Öffnen mit" ja vom jeweiligen OS / Desktop abhängig. Insofern muss Dein Script nur die Möglichkeit bieten, einen Dateinamen beim Start übergeben zu bekommen.
Re: Wie kann ich in Python Systemdaten abfangen?
Verfasst: Mittwoch 10. November 2010, 14:40
von dodo
Ich kenn die Grundlagen: print, Variablen, Funktionen, Klassen, Objekte, Module...
Und ich kenn mich auch mit nen paar Modulen aus:easygui, pygame(Teils, Lern auf der Homepage zurzeit)

Re: Wie kann ich in Python Systemdaten abfangen?
Verfasst: Mittwoch 10. November 2010, 14:42
von dodo
So wie geht das mit dem 'Übergeben' und wo und wie muss ich den Pythonscript eintragen das das funktioniert?
Tipp: Ich nutze python 2.5
Ich weiß sogar wie man die Printausgabe in eine Variable weiterleitet.
Re: Wie kann ich in Python Systemdaten abfangen?
Verfasst: Mittwoch 10. November 2010, 14:43
von Hyperion
dodo hat geschrieben:Ich kenn die Grundlagen: print, Variablen, Funktionen, Klassen, Objekte, Module...
Ok, wirkte nicht wirklich so! (Wobei es einen Unterschied zwischen "kennen" und "beherrschen" gibt
Das sind aber keine Module der Standard-Lib! Und wer sich durch das offizielle Tutorial gearbeitet hat, der kennt schon einige wichtige Module. Kommandozeilenparameter werden dort u.a. auch besprochen, s. Kapitel 10.3.
Re: Wie kann ich in Python Systemdaten abfangen?
Verfasst: Mittwoch 10. November 2010, 14:45
von Hyperion
dodo hat geschrieben:So wie geht das mit dem 'Übergeben' und wo und wie muss ich den Pythonscript eintragen das das funktioniert?
Hab ich Dir doch schon genannt! Schau Dir die Module doch mal an und dazu den Abschnitt im Tutorial...
Tipp: Ich nutze python 2.5
Gibt es dafür einen trifftigen Grund? Du solltest besser 2.6 oder 2.7 nutzen oder ggf. auch 3.1.
Re: Wie kann ich in Python Systemdaten abfangen?
Verfasst: Mittwoch 10. November 2010, 14:48
von dodo
Ich behersche sie!
Und zu den Standartmodulen benutze ich seit längererem datetime, time, und sys.exit für Pygame.
Re: Wie kann ich in Python Systemdaten abfangen?
Verfasst: Mittwoch 10. November 2010, 14:49
von dodo
Und zu dem 'Warum 2.5' 3.1 kann ich nich, hab mich schon auf 2.5 spezialisiert.
Re: Wie kann ich in Python Systemdaten abfangen?
Verfasst: Mittwoch 10. November 2010, 14:58
von Xynon1
Das ändert nichst daran das es so wirkt als hättest du noch nie bzw wenig Programmiert.
Und einzelne Standardmodule zunennen, ist nun kein tolles Basiswissen.
Mal abgesehen davon, das sys.exit kein Modul ist.
Re: Wie kann ich in Python Systemdaten abfangen?
Verfasst: Mittwoch 10. November 2010, 15:08
von /me
dodo hat geschrieben:So wie geht das mit dem 'Übergeben' und wo und wie muss ich den Pythonscript eintragen das das funktioniert?
Tipp: Ich nutze python 2.5
Das offizielle Tutorial hat einen Abschnitt zu
Kommandozeilenargumenten.
Etwas überspitzt gefragt noch Folgendes: Gibt es für deine Plattform keine aktuelle Python-Version der 2.x-Reihe oder möchtest du dein fertiges Werk im historischen Museum ausstellen?
Re: Wie kann ich in Python Systemdaten abfangen?
Verfasst: Mittwoch 10. November 2010, 15:38
von BlackJack
Hey, 2.5 läuft noch auf vielen "stabilen" Servern und Jython und PyPy sind auch auf dem Stand. Ich habe die Version auch als gemeinsame "Untergrenze" für die Sachen die ich schreibe. Und ich schreibe nix für Museen.

Re: Wie kann ich in Python Systemdaten abfangen?
Verfasst: Mittwoch 10. November 2010, 16:12
von dodo
Zu den 'einzelnen Standartmodulen' die reichen mir.
Zwar ist sys.exit kein Modul, sondern nur eine Funktion in einem Modul - Aber ich dachte, ich sollts mal mit aufzählen. :K
Re: Wie kann ich in Python Systemdaten abfangen?
Verfasst: Mittwoch 10. November 2010, 16:14
von dodo
Und was das mit dem 'Museum' angeht, hat BlackJack recht.