file informatica e laboratorio di programmazione Alberto Ferrari Informatica e Laboratorio di Programmazione

Documenti analoghi
A. Ferrari. file. Python. Alberto Ferrari Informatica

File binari e file di testo

Concetto di stream. c i a o \0. c i a o \0. c i a o \0

Sommario FONDAMENTI DI INFORMATICA. File e Python. Gestione di file. LINGUAGGIO Python Gestione dei file

Informatica e Laboratorio di Programmazione C++ stream Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 02/04/2014/ Appello straordinario/ Foglio delle domande / VERSIONE 1

Fondamenti di Informatica 2008 corso prof. A. Picariello. Operazioni sui FILE in C++

Tecnologie dell'informazione e della Comunicazione

Input/Output. Console e File.

Elementi di Informatica

Laboratorio di Python

Laboratorio di Programmazione

Input output. Andrea Passerini informatica. Input output

Sommario FONDAMENTI DI INFORMATICA. File e Python. Gestione di file. LINGUAGGIO Python Gestione dei file

Corso sul linguaggio Java

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Programmazione Assembly

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Elementi di Base. Introduzione a Python.

Gestione di files Motivazioni

Gestione dei files in linguaggio C. Fondamenti

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 02/07/2015/ Foglio delle domande /VERSIONE 1 Matricola Cognome Nome

FILE BINARI FILE BINARI

Lezione 6 Introduzione al C++ Mauro Piccolo

Premessa. Input /output e gestione dei file. I file e gli stream. Il puntatore al file. 21. I FILE NEL LINGUAGGIO C Versione 1.

Laboratorio di Python

Sommario FONDAMENTI DI INFORMATICA. File e Python. Gestione di file. LINGUAGGIO Python Gestione dei file

TEST DI VERIFICA IN INGRESSO. Corso di Laurea in Informatica. Dipartimento di Scienze e Tecnologie Università di Napoli Parthenope

Laboratorio di Architettura degli Elaboratori A.A. 2014/15 Programmazione Assembly

ELEMENTI DI INFORMATICA. Linguaggio C

Esercitazioni di Fondamenti di Informatica - Lez /12/2018

A. Ferrari. informatica. Java basi del linguaggio. Alberto Ferrari Informatica

Gestione dei File. Credits Prof. Campi

Fondamenti di Informatica

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Istruzioni e linguaggio macchina

Corso di Linguaggi di Programmazione

La rappresentazione delle informazioni

FILE BINARI FILE BINARI

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 6 Marzo 2016

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 21 Maggio 2014

PYTHON CHEAT SHEET. Rapido documentazione di consultazione per istruzioni, funzioni e tipi in Python. #stampa le variabili x e y

2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno.

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 13/09/2013/ Foglio delle domande/versione 1

Gestione dei files. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Via Leopardi 132

Linguaggio C: i file

Gestione dei file. Stefano Ferrari. Università degli Studi di Milano Programmazione. anno accademico

Gestione dei file di dati

Laboratorio di Python

Il linguaggio C. Breve panoramica su stdio.h

Lezione 16 programmazione in Java

La rappresentazione delle informazioni

I files (archivi) Il C definisce in stdio.h tre file aperti automaticamente: stdin, stdout e stderr.! Sono ad accesso sequenziale diretto

Istruzioni e linguaggio macchina

Introduzione a C# Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Linguistica Computazionale

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 05/02/2014/ Foglio delle domande / VERSIONE 1

GESTIONE DEI FILE IN C. Docente: Giorgio Giacinto AA 2008/2009

Le classi FileInputStream e RandomAccessFile. Semplici Algoritmi di Ordinamento

Primo programma in C

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. File. Marco D. Santambrogio Ver. aggiornata al 15 Maggio 2015

La gestione dell'errore

Tutorato di Fondamenti di Informatica TUTOR: DAVIDE GHIANI, GIULIA ORRU

Struttura di un elaboratore

ITI M. FARADAY. Programmazione a. s

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione

Prof. Massimiliano Giacomin 21 dicembre NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli

Introduzione al linguaggio Python

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE

Streams e disk files

Processore Danilo Dessì. Architettura degli Elaboratori.

Strutture di Controllo

Implementazione di DFA in C

Liste. Una lista è una serie ordinata di valori, ognuno identificato da un indice. I valori che fanno parte della lista sono chiamati elementi.

Standard Input e Standard Output

Python. Loriano Storchi.

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1

Gestione dei file in PHP

Rappresentazione degli algoritmi

LabVIEW parte II. Ing. Gianfranco Miele November 3, 2010

DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA. INFORMATICA B Ingegneria Elettrica. I file in Matlab

Lezione 1 Richiami di Python

Gestione dei File C. Generalità

Excel & VBA. Excel e Visual Basic for Application

PROGRAMMARE IN JAVA Volume I

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande / VERSIONE 1

Teoria dell Informazione

Sistemi Operativi Teledidattico

Operazioni su file di caratteri

CODIFICA DEL TESTO 0???????

Si deve consegnare solo il testo del compito e non eventuale minuta. Di tutti gli esercizi BISOGNA riportare i passaggi significativi ed il risultato.

Algoritmi e basi del C Struttura di un programma

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

Sono file di caratteri, organizzati in linee. Ogni linea e` terminata da una marca di fine linea (newline, cara ttere '\n').

(1) (2) (3) (4) 11 nessuno/a (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

Docenti Marco Cirrito, Pier Luigi Girelli. Disciplina. OBIETTIVI MINIMI (necessari al passaggio alla classe successiva)

Avviate l interprete Python selezionandolo dal menu dei programmi. Una volta avviato, l interprete presenta un cursore in cui inserire comandi

Transcript:

file informatica e laboratorio di programmazione

dati persistenti o la maggior parte dei programmi ha necessità di memorizzare informazioni in modo persistente non in memoria centrale o le variabili e le strutture dati viste fino ad ora non sono persistenti o le informazioni vengono «perse» al termine dell esecuzione o file: struttura di base per la memorizzazione persistente di informazioni o molti linguaggi gestiscono i file come flussi di informazioni (stream) o i flussi di informazioni sono un astrazione che può essere applicata non solo ai file Alberto Ferrari Informatica e Laboratorio di Programmazione

flussi di dati o stream: astrazione per flussi di informazione o lettura o scrittura di informazioni su qualunque dispositivo I/O (file, ma non solo) o file di testo o varie codifiche (UTF-8 o altro) o conversioni automatiche, es. "\n" "\r\n" o file binari o I/O preciso byte a byte, senza nessuna conversione o qualsiasi file... anche di testo! Alberto Ferrari Informatica e Laboratorio di Programmazione

scrittura su file o funzione open per accedere ad un file (di testo) o modalità scrittura o lettura o append: "w", o "r" o "a" o scrittura su file: funzione print, o metodo write o blocco with: chiude il file al termine delle operazioni o anche in caso di errore with open("corsi.txt", "w") as f1: f1.write(" \n") f1.write("ingegneria Informatica Elettronica e delle Telecomunicazioni\n") with open("potenze.txt", "w") as f2: for x in range(10): print(x, x ** 2, file=f2) Alberto Ferrari Informatica e Laboratorio di Programmazione

esempi di scrittura # scrittura in un file di testo endl = '\n' myfile = open("mieparole.txt","w") myfile.write("alfa"+endl) myfile.write("beta"+endl) myfile.write(str(123)+endl) myfile.write(str(1.23)+endl) myfile.write(str(true)+endl) myfile.write(""+endl) myfile.close() #apertura file in scrittura # scrittura (append) in un file di testo with open("mieparole.txt", "a") as myfile: myfile.write("nuova_riga"+endl) Alberto Ferrari Informatica e Laboratorio di Programmazione

lettura da file with open("corsi.txt", "r") as f1: primo_corso = f1.readline() # le stringhe contengono '\n' finale secondo_corso = f1.readline() # alla fine del file viene letta una stringa vuota with open("potenze.txt", "r") as f2: tutte_potenze = f2.read() # legge intero file in una stringa with open("corsi.txt", "r") as f3: for linea in f3: # linea contiene '\n' finale # strip() rimuove spazi e \n iniziali e finali print(linea.strip(), ':', len(linea)) Alberto Ferrari Informatica e Laboratorio di Programmazione

esempi di lettura (1) # lettura di una singola riga dal file di testo myfile = open("1000_parole_italiane_comuni.txt") #apertura file riga = myfile.readline() #lettura riga print(riga,len(riga)) #... compreso \n riga_pulita = riga.strip() #elimino spazi e \n print(riga_pulita,len(riga_pulita)) #riga 'pulita' myfile.close() #chiusura file # lettura di tutte le righe dal file di testo myfile = open("1000_parole_italiane_comuni.txt") #apertura file for testo in myfile: print(testo.strip(),len(testo.strip())) #elimino spazi e \n myfile.close() #chiusura file

esempi di lettura (2) # blocco with al termine effettua in automatico la chiusura del file with open("1000_parole_italiane_comuni.txt","r") as myfile: max_len = 0 parola = '' for testo in myfile: if len(testo)-1 > max_len: max_len = len(testo)-1 parola = testo.strip() print('parola più lunga',parola,max_len) # lettura intero file in una stringa with open("1000_parole_italiane_comuni.txt", "r") as myfile: tutto = myfile.read() print('tipo',type(tutto)) print('lunghezza',len(tutto)) print('contenuto: ----') print(tutto)

esempio di lettura (3) UTF-8 (Unicode Transformation Format, 8 bit) è una codifica di caratteri Unicode in sequenze di lunghezza variabile di byte, creata da Rob Pike e Ken Thompson. UTF-8 usa gruppi di byte per rappresentare i caratteri Unicode, ed è particolarmente utile per il trasferimento tramite sistemi di posta elettronica a 8-bit. # lettura intero file in una stringa (codifica utf-8) with open("1000_parole_italiane_comuni.txt", mode="r", encoding="utf-8") as myfile: tutto = myfile.read() print('tipo',type(tutto)) print('lunghezza',len(tutto)) print('contenuto: ----') print(tutto)

gestione errori o se si verifica un errore (o una eccezione) Python normalmente si interrompe e comunica un messaggio di errore o le eccezioni possono essere gestate mediante il costrutto try # errore file myfile = open('file_inesistente.txt') # gestione eccezioni try: myfile = open('file_inesistente.txt') except: print('errore apertura file')

modulo os (esempi) o il modulo os fornisce funzioni per interagire con il Sistema Operativo import os mydirectory = os.getcwd() print('directory di lavoro',mydirectory) https://docs.python.it/html/tut/node12.html import os def esplora(nome_directory): for nome in os.listdir(nome_directory): percorso = os.path.join(nome_directory, nome) if os.path.isfile(percorso): print(percorso) else: esplora(percorso) esplora(" ")

ricorsione esercizi Alberto Ferrari Informatica e Laboratorio di Programmazione

esercizi (1) o 9.1 sequenza di valori o funzione che: o riceve come parametro il nome di un file o restituisce una tupla con il valore massimo e quello minimo trovati nel file o ciascuna riga del file contiene un valore float o invocare la funzione con un nome di file inserito dall'utente o visualizzare il risultato

esercizi (2) o 9.2 fusione o due file di testo contengono sequenze di numeri o un valore per ogni riga o in ciascun file, i valori sono già ordinati o generare in output i valori di entrambi i file o sequenza di output ordinata ciclicamente, confrontare la coppia dei primi valori (ciascuno proveniente da uno dei due stream) scrivere il minore dei due sul file di uscita non estrarre un nuovo valore da uno stream, se quello precedente non è ancora stato scritto in output