Usando o Python para executar um comando em todos os arquivos em uma pasta
Estou tentando criar um script Python que:
Olhe para a pasta "/ input"Para cada vídeo nessa pasta, execute um comando mencoder (para transcodificá-los para algo que pode ser reproduzido no meu telefone)Quando o mencoder terminar sua execução, exclua o vídeo original.Isso não parece muito difícil, mas eu chupo python :)
Alguma idéia de como o script deve ser?
Pergunta bônus: devo usar
os.system
ou
subprocess.call
?
Subprocess.call parece permitir um script mais legível, já que eu posso escrever o comando assim:
cmdLine = ['mencoder', sourceVideo, '-ovc', 'copy', '-oac', 'copy', '-ss', '00: 02: 54 ',' -endpos ', '00: 00: 54 ',' -o ', destinationVideo]
EDIT: Ok, isso funciona:
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')
Eu removi o comando mencoder, para maior clareza e porque ainda estou trabalhando nisso.
Obrigado a todos por sua contribuição.