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'
Wie kann ich in Python Systemdaten abfangen?
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Kapiere ich nicht! Kannst Du das mal bitte genauer erklären! (Was für ein OS, woher stammt der Aufruf, was soll das bewirken, ...?)dodo hat geschrieben:Ich möchte ein Programm schreiben, was man direkt bei der Datei mit 'Öffnen mit' starten kann.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
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.
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.
Geht nicht gibts nicht(Das gilt auch für Python)!
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.
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.
Zuletzt geändert von Xynon1 am Mittwoch 10. November 2010, 14:23, insgesamt 1-mal geändert.
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.
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.
Geht nicht gibts nicht(Das gilt auch für Python)!
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ich kapiere wieder nichts!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.
@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.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
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)
Und ich kenn mich auch mit nen paar Modulen aus:easygui, pygame(Teils, Lern auf der Homepage zurzeit)
Geht nicht gibts nicht(Das gilt auch für Python)!
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.
Tipp: Ich nutze python 2.5
Ich weiß sogar wie man die Printausgabe in eine Variable weiterleitet.
Zuletzt geändert von dodo am Mittwoch 10. November 2010, 14:45, insgesamt 1-mal geändert.
Geht nicht gibts nicht(Das gilt auch für Python)!
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ok, wirkte nicht wirklich so! (Wobei es einen Unterschied zwischen "kennen" und "beherrschen" gibtdodo hat geschrieben:Ich kenn die Grundlagen: print, Variablen, Funktionen, Klassen, Objekte, Module...
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.Und ich kenn mich auch mit nen paar Modulen aus:easygui, pygame(Teils, Lern auf der Homepage zurzeit)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Hab ich Dir doch schon genannt! Schau Dir die Module doch mal an und dazu den Abschnitt im Tutorial...dodo hat geschrieben:So wie geht das mit dem 'Übergeben' und wo und wie muss ich den Pythonscript eintragen das das funktioniert?
Gibt es dafür einen trifftigen Grund? Du solltest besser 2.6 oder 2.7 nutzen oder ggf. auch 3.1.Tipp: Ich nutze python 2.5
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Ich behersche sie!
Und zu den Standartmodulen benutze ich seit längererem datetime, time, und sys.exit für Pygame.
Und zu den Standartmodulen benutze ich seit längererem datetime, time, und sys.exit für Pygame.
Zuletzt geändert von dodo am Mittwoch 10. November 2010, 14:50, insgesamt 1-mal geändert.
Geht nicht gibts nicht(Das gilt auch für Python)!
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.
Und einzelne Standardmodule zunennen, ist nun kein tolles Basiswissen.
Mal abgesehen davon, das sys.exit kein Modul ist.
Das offizielle Tutorial hat einen Abschnitt zu Kommandozeilenargumenten.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
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?
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.