Alcuni comandi per il sistema operativo import os os.getcwd() -> restituisce il path della directtory di lavoro in cui ci si trova os.listdir('.') -> lista il contenuto di cwd os.chdir('percorso') -cambia la directory di lavoro da cwd in 'percorso' os.mkdir('nome') -> crea la directory di nome e path 'nome' Connessione a url sia per py2 che per py3 import urllib f = urllib.request.urlopen('http://www.dsf.unica.it/~roberto') A = f.read() oppure A = f.readlines() A = f.readline() Error handle: “try insieme ad except” try: x = float(raw_input('pp')) print 'success' except: print 'error' Esempio creazione e apertura files csv st = "citta, reddito medio, abitanti, servizi sanitari" st2 = "parigi, 33000, 7200000,SI" st3 = "villaqualunque, 3000, 2000,NO" fout = open("prova.csv","w") fout.write(st+'\n') fout.flush() fout.write(st2+'\n') fout.flush() fout.write(st3+'\n') fout.flush() fout.close() fin = open("prova.csv","r") i = ['not empty'] L = [] while i!='': i = fin.readline().split(',') L.extend([i]) L.pop(-1) //rimuove l’ultima lista che era [''] //posso rimuovere tutte le andate a capo a fine linea: for i in L:                     ...     i[-1]=i[-1].replace('\n','') Ho una lista di liste interne, in cui ogni lista interna contiene i dati di una riga del file csv in formato stringa. Accedo a ogni dato con la sintassi L[i][j] come fosse una matrice (in piu’ posso accedere con indici negativi, come L[-1][-1]) dove i fissa la riga mentre j fissa la colonna es: j = 0 while j < 4: L[2][j] j=j+1 legge la terza riga es: i = 0 while i < 3: L[i][2] i=i+1 legge la terza colonna