Seite 1 von 1

Probleme mit Programmaufruf

Verfasst: Donnerstag 30. August 2007, 13:58
von Stolzi
Arg, ich komm nicht dahinter. Hatte noch nie so ein Problem mit einem Programmaufruf. Wollte Avidemux wie folgt aufrufen:
/opt/kde3/bin/avidemux2 --video-codec XVID4
Der Aufruf funktioniert von der Kommandozeile einwandfrei. Doch wenn ich das selbe mit Python versuche:

Code: Alles auswählen

Avidemux="/opt/kde3/bin/avidemux2"
AvidemuxArgs=[Avidemux,u"--audio-codec MP3",u"--video-codec XVID4",u"--output-format AVI",]
AvidemuxArgs=[Avidemux,"--video-codec XVID4",]
Xvid=os.spawnv(os.P_NOWAIT, Avidemux, AvidemuxArgs)
übernimmt Avidemux "--video-codec XVID4" nicht und meldet:
Unknown command :--video-codec XVID4
Den selben Fehler konnte ich erzeugen wenn ich avidemux aus der Kommandozeile so aufrief:
/opt/kde3/bin/avidemux2 -'-video-codec XVID4'

Was passiert denn hier? Und va: Wie kann ich es lösen?

Danke
Stolzi

Verfasst: Donnerstag 30. August 2007, 14:11
von BlackJack
Na im Grunde hast Du ja selber schon gemerkt woran es liegt: '--video-codec XVID4' ist nicht ein Argument sondern zwei. Also muss die Argumentliste so aussehen: ['--video-codec', 'XVID4']

Verfasst: Donnerstag 30. August 2007, 14:56
von Leonidas
Übrigens wird spawn* von subprocess ersetzt - das kann alles was die anderen Funktionen können und bietet ein einheitliches API.

Verfasst: Freitag 31. August 2007, 08:38
von Stolzi
Das wars! Danke. UInd auf subprocess hab ich auch umgestellt. Danke fürn Tip.