Anteprima
Vedrai una selezione di 1 pagina su 5
Informatica - Appunti parte 1 Pag. 1
1 su 5
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

INFO 01.12.20

GESTIONE DEI FILE IN PHYTON:

- File di testo -> codificato con stringhe

Memoria centrale e secondaria -> accesso ai dati tramite funzioni di input e output e file

- Memoria secondaria

Gestione dei file in Phyton:

- Funzioni built in e metodi dell’oggetto file

- Lettura, scrittura dei file di testo

➢ tutti oggetti risiedono in memoria centrale RAM

➢ Problema:

o Tutto questo sistema (->) è volatile in particolare la

RAM

▪ Ram perde tutte le info sui dati una volta

spento il pc

▪ Per accedere alla persistenza dei dati non si

puo usare la RAM

o Memoria di massa / hardisk / memoria secondaria -> disco fisso

o File -> dati come stringhe di carattere persistenti nel disco fisso

▪ Leggere dal disco fisso -> necessario scrivere dentro un file le informazioni

riguardo i dati

▪ File = astrazione che ci permette di memorizzare sulla mem secondaria

▪ Necessari meccanismi per leggere e scrivere i dati dalla memoria secondaria

➢ Vista logica:

o Mostra i file come organizzati in una

gerarchia

➢ Non usiamo mai la vista fisica

Utilizzo file:

➢ Persistenza dati

➢ Archiaviazione e elaborazione di una grande quantita di dati

➢ Accesso ai dati attraverso un’unica interfaccia software (API), ossia quella dei file phyton

➢ File: unica grande stringa di carattere con tutte le informazioni

Algoritmo standard per operare coi file

- Aprire file

o creazione oggetto file descritto collegato a una variabile, che sara a sua volta

collegato a dei dati all’interno del disco fisso

- Operazioni di lettura e/o scrittura

o manipolare l’informazione

- Chiudere il file

o informare phyton che rendiamo persistenti le modifiche fatte al file

▪ se non lo chiudiamo potrebbe succedere che non resa persistente ciò che

abbiamo scritto sul file

FUNZIONI OPEN() E METODO CLOSE() (riferito all oggetto in particolare):

➢ variabile e oggetto (file desccritto) e file fisicamente è nel disco

fisso

o associazione nascostata tra ogg fileDescr e file all’interno

del HDD

➢ var = open(nomeFile, modo, encoding)

o ci sono 3 parametri nella funzione open()

o modo = lettura scrittura o append?

▪ Scrittura: contenuto del file viene azzerato

automaticamente

▪ Append: scrittura speciale: scrivere nel file e preserva i dati gia all’interno

del file senza azzerare nulla -> continuo dalla fine

o Encoding: stringa che indica la codifica utilizzata per interpretare i caratteri delle

stringhe lette e scritte (specifica per i file id testo)

▪ Specifica come vogliamo leggere l’informazione all’interno del file

▪ Noi vogliamo leggerlo sottoforma di stringa

➢ Nome del file:

o Assoluto -> specifico tutto il percorso dal nodo di route (C:) fino al file stesso

compreso

o Relativo -> specifica solo il nome del file

▪ Phyton ipotizza che il file si trovi nella stessa cartella da dove abbiamo

lanciato la nostra thonny o shell

➢ Modo:

o r,w,a -> read write append

o posso combinare piu modi: es r+w

▪ problema: rischiamo di fare casino -> è piu complesso

➢ econding=’utf-8’

FILE: - trattato come una

sequenza di caratteri

➢ Ciao sono marco = oggetto

➢ una volta aperto il file: visto logica -> stringa ^

➢ \n = carattere speciale che indica ‘a capo’ -> viene però trattato come un carattere anche se

non si vede nel file concretamente

o \n e spazio contano come caratteri

➢ Cursore: caratterizza l’oggetto file descritto dalla stringa

o A ogni file descritto è associato un cursore

o Cursore si muove man mano che leggo e scrivo

o Quando apro il file la stringa non finisce nell’oggetto fileDescr

▪ I dati sono sempre fisicamente nel file

➢ Var = open(...)

➢ Fine: var.close() -> metodo dell’oggetto fileDescr -> chiusura di un file

SCRITTURA DI UN FILE (di testo)

Un metodo: write

o Var = open(“dati.txt”, mode=”w”, encoding=”utf-8”)

o T=”ciao”

o Var.write(t) -> stringa scritta da dove si trova il cursore in avanti

o Var.close()

esempio - Una volta chiuso rendo persistenti

le modifiche in memoria secondaria

- Distruggo l’oggetto descrittore al

file (distruggo l’associazione)

- Con write si cancella tutto solo al momento dell’aperura con modo w

- W = apriamo un file nuovo ma una volta chiuso i dati rimangono

o Se viene riaperto con modo w si chiude tutto

CURSORE: - Fino a che non chiudo il file, questo

rimane vuoto (A0 A1 A2)

- Cursore si trova sempre alla fine di

ogni mio carattere

- Quando chiudo il file è come se lo

salvassi

LETTURA FILE:

3 metodi: readlines, readline e read

- READ

➢ Ritorna l’intero contenuto del file sottoforma di stringa

➢ Viene creato un oggetto stringe associato alla variabile t, diverso dall’oggetto descrittore del

file

➢ Con read compare TUTTO il file in un colpo

o Sconveniente: file se troppo grande viene creato un oggetto che risiede nella RAM

che ha dimensioni piccole rispetto al disco fisso

▪ Occuperebbe troppo spazio inutile

o In ram tengo le cose che mi servono, non tutto il contenuto del disco fisso

Dettagli
Publisher
A.A. 2019-2020
5 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher danyconti01 di informazioni apprese con la frequenza delle lezioni di Informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Politecnico di Milano o del prof Sianesi Francesca.