Je suis en train de créer un script Python qui:En utilisant Python pour exécuter une commande sur chaque fichier dans un dossier
- Regardez dans le dossier «/entrée »
- Pour chaque vidéo dans ce dossier , exécutez une commande mencoder (pour les transcoder en quelque chose jouable sur mon téléphone)
- Une fois que mencoder a terminé sa course, supprimez la vidéo originale.
Cela ne semble pas trop difficile, mais je sucent python :)
Toutes les idées sur ce que devrait ressembler le script?
Question bonus: Dois-je utiliser
os.system
ou
subprocess.call
?
Subprocess.call semble permettre un script plus lisible, puisque je peux écrire la commande comme ceci:
cmdLine = [ 'mencoder', sourceVideo, '-ovc', « copie », '-oac', 'copie', '-ss', '00: 02: 54' , '-endpos', '00: 00: 54' , '-o', destinationVideo]
EDIT: Ok, ça fonctionne:
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')
J'ai enlevé la commande mencoder, pour plus de clarté et parce que je travaille toujours.
Merci à tous pour votre contribution.
Grr Je vais avoir toujours le même problème que moi dans ma question précédente; "Windows ne peut pas trouver le fichier spécifié". Python et ou Windows n'est pas un fan des espaces dans les noms de fichiers et de dossiers. :( – Manu
Vous aurez besoin de guillemets autour du chemin du fichier s'il y a des espaces – tgray