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.