Re: [Python] script per linux: .flv to .avi con ffmpeg

2008-03-21 Per discussione orciml
ugaciaka wrote:
> Salve raga,
> la mia alternata avventura con python continua, ho scritto questo
> script che trasforma tutti i file .flv in una cartella in file avi.
> Funziona, ma ammetto che non mi convince molto, diciamo che il codice
> che ho scritto fa schifo.
>
> Qualcuno riesce a darmi qualche dritta per migliorarlo?
> Volevo anche fare os.system.join (path, quellocheserve) invece di
> concatenare la path con il nome dei file
>
> #importo i moduli che servono
> import os
> import re
>
> #metto in un array i nomi dei file
> def tree2lista_file(tree):
> lista_file = []
> for item in tree:
> lista_file=item[2][:]
> return lista_file
>
>
> def trasforma_files(lista_file):
> for index, f in enumerate(lista_file):
>#lo split mi permette di ottenere una lista con due
> sottostringhe una con il nome file e unacon l'estensione, di
> meglio non mi è venuto in mente
> os.system("ffmpeg -i "+ path+lista_file[index] + " " +
> path+lista_file[index].split(".")[0]+".avi")
>
>
> #variabili
> path="/home/ugaciaka/prova/"
> tree=os.walk(path)
>
> #esecuzione metodi
> lista_file = tree2lista_file(tree)
> trasforma_files(lista_file)
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>   
import os

def walkTree(dir, deb=False):
for name in os.listdir(dir):
# associo il nome al path
path = os.path.join(dir, name)
# visualizzo la dir corrente
if os.path.isdir(path):
# visualizzo la dir
if deb:
print "",path
# ricorsivo
walkTree(path, deb)
else:
# visualizzo il path
if deb:
print "-",name
if name.endswith('.flv'):
nam, ext = os.path.splitext(name)
cmd = "ffmpeg -i %s %s.avi" %(name, nam)
print cmd
# os.system(cmd)

#dir, fil = os.path.split(os.getcwd())
dir = "bla/bla/bla"   
walkTree(dir, False)


ciao Loris
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] script per linux: .flv to .avi con ffmpeg

2008-03-21 Per discussione ugaciaka
Ho fatto così sotto consiglio:

Popen(["ffmpeg", "-i" , file_vecchio, file_nuovo])

ora vorrei sapere, se volessi fare in modo di ottenere il codice di
uscita come si fa? Dalla documentazione ufficiale le cose non mi sono
chiare:

import os
import sys
from subprocess import Popen
import subprocess

try:
retcode = call("mycmd" + " myarg", shell=True)
if retcode < 0:
print >>sys.stderr, "Child was terminated by signal", -retcode
else:
print >>sys.stderr, "Child returned", retcode
except OSError, e:
print >>sys.stderr, "Execution failed:", e

il call non viene riconosciuto...

Comunque se non erro il codice 0 -> tutto ok altrimenti c'è un errore.
Vorrei intercettare questa cosa e anche le eccezioni in modo da dire
all'utente cosa è andato storto...

2008/3/20, Enrico Franchi <[EMAIL PROTECTED]>:
>
>  On Mar 20, 2008, at 9:06 PM, ugaciaka wrote:
>
>  > Perché voglio integrare il codice con altre cosucce, insomma
>  > sperimentare un po'...
>
>
> Comincia a guardare subproces, per dire. modulo Python, intendo.
>
> ___
>  Python mailing list
>  Python@lists.python.it
>  http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python