[Python] variabili globali e d'istanza: provengo da java

Lawrence Oluyede l.oluyede a gmail.com
Mer 26 Dic 2007 16:08:45 CET


>
> def tree2lista_file(tree):
>   lista_file = []
>   for item in tree:
>     lista_file=item[2][:]
>   return lista_file
> #ho dovuto lasciare la copia di una lista...l'append mi copia una
> lista in una lista...

Infatti io avevo scritto:

def tree2file_list(tree):
 file_list = []
 for item in tree:
   file_list.append(list(item[2]))
 return file_list

notare il list() tra parentesi. (sempre che io abbia capito bene).
Quel list() infila in append una copia della lista dentro item[2], non
la lista stessa.

Come l'hai scritto tu sovrascrive ogni volta la lista di destinazione

> def rinomina_files(lista_file, lista_file_rinominati):
>     for i in range(len(lista_file)):
>         os.rename(path+lista_file[i], path+lista_file_rinominati[i])
> #for i in range(len(lista_file)) non so come toglierlo da qui...
> #tipo un for file in lista file + file2 in lista file


for index, f in enumerate(lista_file):
  from = os.path.join(path, lista_file[index])
  to = os.path.join(path, lista_file_rinominati[index])
  os.rename(from, to)


-- 
Lawrence, stacktrace.it - oluyede.org - neropercaso.it
"It is difficult to get a man to understand
something when his salary depends on not
understanding it" - Upton Sinclair


More information about the Python mailing list