Verwenden von Python zum Ausführen eines Befehls für jede Datei in einem Ordner

Ich versuche, ein Python-Skript zu erstellen, das Folgendes bewirkt:

Schau in den Ordner "/ input"Führen Sie für jedes Video in diesem Ordner einen Mencoder-Befehl aus (um sie in eine auf meinem Telefon abspielbare Datei umzucodieren).Sobald der Mencoder seinen Lauf beendet hat, löschen Sie das Originalvideo.

Das scheint nicht zu schwer zu sein, aber ich lutsche an Python :)

Irgendwelche Ideen, wie das Skript aussehen soll?

Bonusfrage: Soll ich nutzen

os.system

oder

subprocess.call

?

Subprocess.call scheint ein besser lesbares Skript zu ermöglichen, da ich den Befehl folgendermaßen schreiben kann:

cmdLine = ['mencoder', sourceVideo, '-ovc', 'copy', '-oac', 'copy', '-ss', '00: 02: 54 ',' -endpos ', '00: 00: 54 ',' -o ', destinationVideo]

EDIT: Ok, das funktioniert:

import os, subprocess

bitrate = '100'
mencoder = 'C:\\Program Files\\_utilitaires\\MPlayer-1.0rc2\\mencoder.exe'
inputdir = 'C:\\Documents and Settings\\Administrator\\Desktop\\input'
outputdir = 'C:\\Documents and Settings\\Administrator\\Desktop\\output'

for fichier in os.listdir(inputdir):
    print 'fichier :' + fichier
    sourceVideo = inputdir + '\\' + fichier
    destinationVideo = outputdir + '\\' + fichier[:-4] + ".mp4"

    commande = [mencoder,
               '-of',
               'lavf',
               [...]
               '-mc',
               '0',

               sourceVideo,
               '-o',
               destinationVideo]

    subprocess.call(commande)

os.remove(sourceVideo)
raw_input('Press Enter to exit')

Ich habe den Mencoder-Befehl aus Gründen der Übersichtlichkeit und weil ich noch daran arbeite, entfernt.

Vielen Dank an alle für Ihre Beiträge.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage