Re: [Python] script per linux: .flv to .avi con ffmpeg
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
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