Input/Output. Console e File.

Documenti analoghi
Input/Output. Lettura e scrittura Caratteri e Stringhe: Terminale e file. Input/output. caratteri stringhe formattato ascii binari

File e puntatori a file

File binari e file di testo

Input/Output di numeri

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

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

Introduzione a. Funzioni di Ingresso e Uscita. Compilazione

Programmazione in Python. Moreno Marzolla

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

Processore Danilo Dessì. Architettura degli Elaboratori.

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal

Funzioni di I/O per numeri. Input e output di valori numerici. Input formattato scanf. Stream preesistenti

C O P Y R I G H T ( C ) W W W. F O N D A M E N T I. I N F O

Introduzione alla programmazione in Python: Parte II

Formattazione avanzata. I/O Avanzato e File. Formattazione dell output. Formattazione avanzata. Forma completa degli specificatori

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Linguaggio C: introduzione

Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

UD 3.2b: Programmazione in Pascal (1)

Laboratorio di Algoritmi e Strutture Dati

Gestione di files Motivazioni

Fortran. Introduzione.

Variabili e Istruzioni

Dizionari. Hashtables.

Si può scrivere un programma anche utilizzando un editor di testo (Blocco Note, WordPad, ) ricordandosi comunque di salvarlo con l estensione.py.

Gestione dei file di dati

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

I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002

Linguaggio C: i file

Informatica! Appunti dal laboratorio 1!

Elementi di informatica

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C

Usare Python in Linux

Introduzione al linguaggio Fortran 90

Laboratorio di Programmazione Laurea in Informatica A.A. 2000/2001 Docente: A. Lanza

Introduzione al Python

Programmazione web lato client con JavaScript. Marco Camurri 1

Array in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica

Gestione dei file. Linguaggio ANSI C Input/Output - 13

IL PRIMO PROGRAMMA IN C

GESTIONE DEI FILE IN C

<programma> ::= {<unità-di-traduzione>} <main> {<unità-di-traduzione>}

ingresso/uscita da file

Guida allo sviluppo di applicazioni in linguaggio C# 1. ELABORAZIONE FILE DI TESTO : RIPRENDIAMO ALCUNE IDEE... 2

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

File di script. I File di Script Corso 2D - R.Virili 1

Linguaggio C Informatica Grafica

I CARATTERI E LE STRINGHE

Laboratorio di Python (con Linux)

Introduzione al C. Stream e disk file

I file possono essere manipolati (aperti, letti, scritti ) all interno di programmi C. dischi nastri cd

Indice. La gestione dei file in C e gli stream. Apertura e chiusura di un file. Operazioni sui file. Accesso sequenziale e non sequenziale

La programmazione nel linguaggio C

Corso sul linguaggio Java

Sistemi Operativi Teledidattico

Le basi del linguaggio Java

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

Come ragiona il computer. Problemi e algoritmi

Input. Il tipo char Alcune modalità di acquisizione di input. Laboratorio di Programmazione - Luca Tesei

Esercizi. I File ed il C

Prova Finale. Algoritmi e Strutture Dati 2016 / 2017

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2009/2010

II Esercitazione: S.O. & Fortran 77

Lezione 6 Introduzione al C++ Mauro Piccolo

INTRODUZIONE ALLA PROGRAMMAZIONE

Fondamenti di Informatica T-1

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN

Concetti Introduttivi

INTRODUZIONE A WORD CHE COS E WORD AVVIARE E CHIUDERE WORD INTERFACCIA UTENTE DI WORD

I files in C. A cura del prof. Ghezzi

Operazioni su file di caratteri

Primi passi col linguaggio C

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune.

Laboratorio di Python

Il DOS diagramma di flusso. I comandi del DOS. I comandi: vista funzionale. Parametri. Opzioni. I comandi: sintassi

ingresso/uscita da file

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

Introduzione al funzionamento di un calcolatore elettronico

Introduzione al MATLAB c Parte 3 Script e function

Lettura da tastiera e scrittura su monitor

file fisico file logico

Corso sul linguaggio Java

Shell: variabili di sistema. Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set

Introduzione a Ingresso e Uscita. Scrittura di un programma C++ Compilazione Esecuzione

Elementi di C++ di base

Laboratorio di Informatica

Il linguaggio Python

LESSICO E SINTASSI DEL PASCAL

STORIA E CARATTERISTICHE

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

Tecnologie dell'informazione e della Comunicazione

Linguistica Computazionale: esercitazioni

Errori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A.

Laboratorio Progettazione Web Le funzioni in PHP. Angelica Lo Duca IIT-CNR 2012/2013

Introduzione Programmazione Java

Progetto II: Il linguaggio C e le chiamate di sistema sui processi

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

Le librerie standard. ! La libreria standard del C è in realtà un insieme di librerie

Indice. Introduzione 15. L hardware 24. Il software 43. Introduzione al linguaggio di Arduino 60. Basi del linguaggio di Arduino 65

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

Transcript:

Input/Output Console e File http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it

Credits Materiale a cura del Prof. Franco Milicchio

Introduzione Le istruzioni di stampa servono a rendere visibili all esterno del programma i valori delle variabili Le istruzioni di lettura servono ad acquisire dall esterno i valori delle variabili È possibile leggere e scrivere da diversi dispositivi di input e output Console File

Storia Il termine console è un termine francese che indica un tavolo I primi computer avevano come periferiche una telescrivente, ovvero una teletype (TTY) Da qui, il termine per indicare una periferica fisica di input o output Terminale solitamente indica un emulatore software di una console

Stream Lo stream (in Italiano è flusso) è semplicemente una sequenza di dati Uno stream si apre, si legge, si scrive, si chiude I dati da stampare vengono visti come una sequenza di caratteri da inviare al dispositivo di uscita (il dispositivo attinge dal flusso) I dati da leggere vengono visti come provenienti da un flusso che origina dal dispositivo di ingresso (il programma attinge dal flusso)

Stream RAM CPU Output Input CPU RAM

Stream Standard I sistemi operativi definiscono solitamente tre stream standard Flusso di uscita: standard output stdout Flusso di ingresso: standard input stdin Flusso di error: standard error stderr Di default, lo standard output è lo schermo, l input è la tastiera, e l errore compare generalmente a schermo Nota storica: questi stream hanno l eredità del C e UNIX

Print Gli stream sono comuni a tutti i linguaggi procedurali Ogni linguaggio ha proprie istruzioni di input ed output, come ad esempio read e write in Pascal, o << in C++ In Python esiste l istruzione print 1 che stampa su stdout, la cui sintassi è: print arg1, arg2, Qualunque espressione sia passata alla istruzione di stampa, verrà prima di tutto valutata, per poi poterne stampare il valore 1 In Python 3 print è divenuta una funzione: print(arg1, arg2, )

Esempio di Stampa Esempio: print "L'area vale", area In ordine, viene stampata la stringa L'area vale, seguita dal valore della variabile area (una volta valutata) Nota bene: tra gli argomenti separati da virgole viene inserito uno spazio Infine viene stampato os.linesep, che è il carattere per andare a capo (vedi la tabella ASCII per new line \n e carriage return \r, os è una libreria) La stampa avviene se e solo se non esistono errori nell istruzione (e.g., stampare una variabile inesistente, un valore illegale come ad esempio 1/0) L area vale 452.3

Raw Input Come per la stampa, Python fornisce un meccanismo per leggere dati dallo standard input, i.e., la tastiera In Python esiste la funzione raw_input(prompt) 1 che legge da stdin, la cui sintassi è: raw_input(prompt = ) In ordine, il programma sospende l esecuzione, stampa la stringa prompt (opzionale), l utente scrive una serie di caratteri alla tastiera e preme invio La funzione restituisce una stringa, la quale può esser assegnata ad una variabile 1 In Python 3 raw_input è divenuta la funzione input

Esempio di Lettura Esempio: area = raw_input( Immettere l area: ) In ordine, viene stampata la stringa Immettere l area, dopo di che il programma attende un input da tastiera seguito da invio Nota bene: il prompt viene stampato (se fornito), e non vengono aggiunti spazi né caratteri di a capo Ovviamente se non si associa ad una variabile il valore restituito dalla funzione, tale valore è perso

Caratteri Standard Alcuni caratteri non stampabili sono standard in Python (derivano dal C), come ad esempio: Tabulatore: "\t" Nuova riga: "\n" Inizio riga: "\r" Se si desidera stampare un carattere speciale, come ad esempio ", è necessario farlo precedere da backslash, ovvero \" print "Virgolette: \"" Virgolette: "

Caveat Viene letto l input, compresi i caratteri non stampabili (e.g., spazi, tabulature) Alcuni IDE (e.g., PyCharm) impediscono l immissione di alcuni caratteri Il valore restituito è una stringa di caratteri, la cui interpretazione è a cura del programmatore Con un typecast esplicito è possibile convertire una stringa in un diverso tipo Attenzione: caratteri invalidi possono portare ad errori di interpretazione

Typecast: Esempio q = raw_input("numero:") print "Doppio = ", int(q) * 2 Numero:3 Doppio = 6 Numero:ciao Doppio = Traceback (most recent call last): File "/Users/sensei/Desktop/aaa/a.py", line 10, in <module> print "Doppio = ", int(q) * 2 ValueError: invalid literal for int() with base 10: 'ciao'

Print e Standard Stream In realtà l istruzione print seguita dai parametri da stampare è una forma breve di stampa su uno stream predefinito, standard output La forma più lunga con lo stream esplicito è la seguente: import sys print >> sys.stdout, arg1, arg2, Usando la libreria sys è possibile specificare lo stream standard di output, come sopra, oppure lo standard stream d errore, sys.stderr

File I dati prodotti sullo standard output sono volatili, se il PC si spegne sono persi Spesso è necessario salvare permanentemente i dati di un programma Python fornisce molti modi di salvare dati su disco: file testuali, file binary, database, ed altri Introdurremo ora i file testuali, semplici da analizzare con qualunque editor di testo (compreso PyCharm)

File di Testo Per aprire un file è necessario usare l istruzione open( nome, modo ) Il primo parametro indica il nome del file da aprire Il secondo indica la modalità, ovvero in lettura r (default), o scrittura w Senza specificare altro, il file si troverà nella cartella dello script Python; se un file in lettura non esiste, la funzione andrà in errore, in scrittura verrà creato La funzione open restituisce un oggetto file necessario per scrivere o leggere Attenzione: se si apre un file esistente in scrittura il suo contenuto verrà sovrascritto, perdendo tutti i dati del file

Input da File Una volta aperto il file, è possibile iterarci sopra come se fosse una lista Esempio: f = open("a.txt", "r") for i in f: print i Attenzione: leggendo dal file verranno inclusi anche i caratteri di a capo È sempre possibile effettuare un typecast esplicito per operare sul file

Input: Esempio f = open("a.txt", "r") s = 0.0 for i in f: print "letto valore reale: ", float(i) s = s + float(i) print "somma totale: ", s File a.txt 10.2 20.5 30.3 letto valore reale: 10.2 letto valore reale: 20.5 letto valore reale: 30.3 somma totale: 61.0

Comma Separated Values: Esempio f = open("a.txt", "r") for i in f: print "letto: ", i p = i.split(",") print "lista: ", p for j in p: print ">>> valore", float(j) File a.txt 10.2, 40.8 20.5, 30.5 30.3, 20.7 letto: 10.2, 40.8 lista: ['10.2', ' 40.8\n'] >>> valore 10.2 >>> valore 40.8 letto: 20.5, 30.5 lista: ['20.5', ' 30.5\n'] >>> valore 20.5 >>> valore 30.5 letto: 30.3, 20.7 Notare il carattere a capo lista: ['30.3', ' 20.7'] >>> valore 30.3 >>> valore 20.7

Output a File Una volta aperto, è possibile scrivere nel file con un metodo dell oggetto file Esempio: f = open("a.txt", "w") f.write( 3.1415\n ) Si possono scrivere su file solo alcuni tipi di oggetto, tra questi le stringhe Python non aggiungerà il carattere di a capo per ogni scrittura

Output: Esempio l = [1.1, 2.2, 3.3, 4.4, -11.11] f = open("a.txt", "w") for i in l: f.write(str(i) + "\n") 1.1 2.2 3.3 4.4-11.11