Modul 'os': Ausführen von Programmen

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.
Antworten
Markus12
User
Beiträge: 195
Registriert: Dienstag 6. März 2007, 19:32
Wohnort: Frankfurt am Main

Dienstag 8. Mai 2007, 16:19

Hi,
ich hab ein Problem mit dem Modul os.
Ich habe bereits eine Internet-Seite gefunden, auf der viele Funktionen stehen, darunter auch, nach was ich gesucht habe, - ein Befehl mit dem ich Programm ausführen kann.

Ich hab das ganze mal mit dem Befehl versucht:

Code: Alles auswählen

import os

os.execv("C:\Programme\Windows Media Player\wmplayer.exe",('0','1'))

Das klappt. Aber wenn ich vorne die Klammer öffne, sagt er mir, dass er einen Pfad und ein Argument haben möchte, wobei das Argument ein Tuple oder eine Liste sein muss. Ich habe da jetzt irgendwas hingeschrieben, mit dem es aber gepasst hat.

Meine Frage:

Weiß jemand, was er als Argument genau haben möchte? Was soll im Tuple(Liste) stehen?

Und was ich eigentlich wollte, war, dass ich Python- Scripte ausführen wollte. Wie kann ich das nun machen? Welches Argument brauche ich dafür und gehen nur graphsiche Scripte??


Danke!
BlackJack

Dienstag 8. Mai 2007, 16:31

Im zweiten Argument stehen die Argumente für das Programm, wobei an erster bzw. nullter Stelle das Programm selbst nochmal stehen sollte! Also im Grunde der gleiche Aufbau wie `sys.argv`. Da stehen die Argumente drin, die ein anderes Programm, zum Beispiel die Konsole, mal Deinem Python-Programm mitgegeben haben.

Wenn das Programm ohne Argumente gestartet werden soll, dann steht im zweiten Argument nur noch einmal das erste in einer Liste oder einem Tupel.

Code: Alles auswählen

command = '/bin/ls'
os.execv(command, (command,))
Oder mit Argumenten:

Code: Alles auswählen

command = '/bin/ls'
os.execv(command, (command, '-l', '--color', 'always', '*.py'))
Markus12
User
Beiträge: 195
Registriert: Dienstag 6. März 2007, 19:32
Wohnort: Frankfurt am Main

Dienstag 8. Mai 2007, 16:45

ah ok. Und was gibt die Konsole einem solchen Programm mit? :

Code: Alles auswählen

import os

pfad='C:\Dokumente und Einstellungen\Markus Naumann\Desktop\programm1'

os.execv(pfad,(pfad,))

Was sollte da im 2. (nach der zählung dem 1.) stehen??

Danke für deine Nachricht!
lunar

Dienstag 8. Mai 2007, 17:40

Wenn es dir nur darum geht ein Programm auszuführen, dann benutzt du am besten das subprocess Modul. Näheres steht in der Doku: http://docs.python.org/lib/node529.html
Markus12
User
Beiträge: 195
Registriert: Dienstag 6. März 2007, 19:32
Wohnort: Frankfurt am Main

Dienstag 8. Mai 2007, 17:52

Danke, aber weiß jemand, wie man das benutzt????

Aus dieser Dokumentation versteht man überhaupt nichts.
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Dienstag 8. Mai 2007, 17:54

[wiki]Neue Features#Subprocess[/wiki]
Antworten