Seite 1 von 1

Programme für Dateierweiterungen unter Windows herausfinden

Verfasst: Freitag 21. November 2008, 09:23
von limepix
Folgendes - es soll ein taskplaner nachgebaut werden und der nimmt auch langsam Form an...
Wir wollen für das Ausführen von bestimmten Tasks uns nun allerdings nicht auf bestimmte Dateitypen festlegen...
ein kleines Beispiel:

Code: Alles auswählen

        <exec>window.pyw</exec>
        <args></args>
das könnte nun einfach ein weiteres python Skript sein welches ausgeführt wird...

weiter:

Code: Alles auswählen

        <exec>tool.exe</exec>
        <args>-T Argument -P Argument</args>
das nun eine Executable ...

Code: Alles auswählen

        <exec>temp.txt</exec>
        <args></args>
und das eine Textdatei die einfach geöffnet wird.

In unserem Taskplaner wird nun "exec" und "args" herausgelesen und wir wollen das dann ausführen...
von dem befehl os.system(...) wurde mir dringendst abgeraten - ich hab mich dann mal ein bisschen in das modul subprocess eingelesen und bin dort auf Popen gestossen... so weit so gut...
wenn ich jetzt einen aufruf mach der folgendermaßen aussieht:

Code: Alles auswählen

p = subprocess.Popen('tool.exe ' + '-T Argument -P Argument')
klappt das auch! allerdings wenn ich so ein weiteres python skript aufrufen möchte, muss ich es wie folgt machen:

Code: Alles auswählen

p = subprocess.Popen('python ' + 'window.pyw ')
... bei der textdatei dann halt anstatt 'python' ein 'np++' vorne dran...
meine frage ist nun wie ich die zuordnung von dateitypen(/-endungen) zu den programmen rausbekomm. quasi
'.pyw' -> 'C:\Python26\python.exe',
'.txt' -> 'C:\Programme\np++\np++.exe'
usw...

im explodierer findet mans unter "Extras" - "Ordneroptionen" -
"Dateitypen".

Ich hab in der Registry schon mal mit dem suchen begonnen, allerdings ohne erfolg :-(
vielleicht kann mir von euch einer sagen, wie ich diese zuordnungen einfach und schnell ermitteln kann ??

danke schon mal im vorraus
ich freu mich über jegliche antworten

mfg limepix[/quote]

Re: Programme für Dateierweiterungen unter Windows herausfin

Verfasst: Freitag 21. November 2008, 09:58
von gerold
limepix hat geschrieben:vielleicht kann mir von euch einer sagen, wie ich diese zuordnungen einfach und schnell ermitteln kann
Hallo limepix!

Schau' dir die wxPython-Demo an. Suche dort nach "MimeTypesManager". Damit bekommst du alle Informationen (plattformübergreifend).

mfg
Gerold
:-)

Verfasst: Freitag 21. November 2008, 10:00
von Rebecca
Zum einen solltest du dir mal os.startfile anschauen. Zum anderen sollte es statt

Code: Alles auswählen

p = subprocess.Popen('tool.exe ' + '-T Argument -P Argument')
heissen:

Code: Alles auswählen

p = subprocess.Popen(["tool.exe", "-T", "bla", "-P", "blupp"])
Dann ist das Quoting immer korrekt.

Verfasst: Freitag 21. November 2008, 10:39
von limepix
*begeisterüberschnelleantwortsei*

danke schonmal!

@Rebecca: Werde ich berücksichtigen und gleich einbauen! Danke!

@Gerold: Super! Genau was ich gesucht habe!! Was mir persönlich allerdings besser gefallen würde, wenn es auch ohne wx geht... Funzt das auch mit der der stdlib?? (Wenn nicht, halb so wild...)

Verfasst: Freitag 21. November 2008, 10:52
von gerold
limepix hat geschrieben:Funzt das auch mit der der stdlib?
Hallo limepix!

Ein paar Informationen bekommst du auch mit dem mimetypes-Modul heraus.

http://docs.python.org/library/mimetypes.html

mfg
Gerold
:-)