Ho notato che in python c'è una cosa che, provenendo da java, mi provoca disorientamento.
Le variabili! Riassumendo: ho scritto un programmino (senza nessuna classe ma con sole funzioni), ho notato che se passo da paramentro una variabile per fargli capire al compilatore che non è una variabili d'istanza (cioé della funzione) ma di tutto del corpo del programma devo anteporre global al nome della variabile passata. Ok fin qua ci sono. Ma se io volessi ora mettere tutto in una classe come agisco? Dove definisco le variabili globali? Nella classe? All'interno del costruttore?... Il mio programmino di esercizio è questo sotto e praticamente non fa altro che sostituire il carattere "_" con uno spazio " ". import os import string def rinomina_nome_file(nome_file): return nome_file.replace("_", " ") def lista_file2lista_file_rinominati(lista_file): global lista_file_rinominati for i in range(len(lista_file)): lista_file_rinominati.insert(i, rinomina_nome_file(lista_file[i])) def tree2lista_file(tree): global lista_file for i in tree: lista_file = i[2][:] def rinomina_file(lista_file, lista_file_rinominati): for i in range(len(lista_file)): os.rename(path+lista_file[i], path+lista_file_rinominati[i]) #variaibli lista_file=[] lista_file_rinominati=[] path="/home/ivan/prova/" tree=os.walk(path) #applico i metodi... tree2lista_file(tree) lista_file2lista_file_rinominati(lista_file) rinomina_file(lista_file, lista_file_rinominati) #COSA INVECE VORREI FARE #io vorrei invece fare solo, dopo aver creato la classe che ingloba i miei metodi: #oggetto=Classe(carattere_da_sostituire, carattere_sostituito) #oggetto.rinomina_file() scusate la lunghezza del post... Grazie ciao _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python