• Non ci sono risultati.

Corso di Linguaggi Dinamici Esercitazione 3 sul Python

N/A
N/A
Protected

Academic year: 2021

Condividi "Corso di Linguaggi Dinamici Esercitazione 3 sul Python"

Copied!
1
0
0

Testo completo

(1)

Corso di Linguaggi Dinamici Esercitazione 3 sul Python

Esercizio 1. Scrivere un programma splitFully che, richiamando ricorsivamente il comando

os.path.split, separi tutte le componenti di un path del file system passatogli come parametro.

Ad esempio: splitFully(‘/usr/local/bin’)  ('/', 'usr', 'local', 'bin')

Tempo a disposizione: 15 minuti.

Esercizio 2. Scrivere un programma printDir che visualizzi il contenuto completo di una cartella del file system memorizzata in una variabile path. Quindi, scriverne una variante printTree che visualizzi ricorsivamente anche il contenuto delle eventuali relative sotto-cartelle.

Tempo a disposizione: 35 minuti.

Esercizio 3. Scrivere un programma rotate che implementi la “rotazione” delle versioni precedenti di un file del file system. In particolare, dato il percorso di un file di cui si vuole effettuare un backup, ad esempio “web.log”, la funzione controllerà l’esistenza del file e, se esistente, rinominerà il file “web.log.1”. Ad una seconda invocazione, il programma dovrà far spazio ad un'altra versione di “web.log” facendo ruotare le precedenti versioni, cioè, nell’esempio precedente, chiamando la nuova “web.log.1” e rinominando “web.log.1” in “web.log.2”.

Tempo a disposizione: 35 minuti.

Esercizio 4. Scrivere un semplice programma per la gestione di un blog. In particolare, dato il nome del file contenente i post, blogAdd dovrà leggere il contenuto del file ed effettuarne l’unpickling in una lista. Quindi, dovrà leggere la data e l’ora di sistema date_and_time, richiedere un nuovo post all’utente (string text), aggiungere la coppia (date_and_time, text) alla lista ed effettuare il pickling della lista nel file. blogPrint leggerà invece il contenuto del file per effettuarne la stampa.

Utilizzare i moduli pickle e time (ad es.: date_and_time = time.ctime(time.time()) ).

Tempo a disposizione: 45 minuti.

Riferimenti

Documenti correlati

java Pappagaller < testo.txt > temp.txt sort < temp.txt >

java Pappagaller < testo.txt > temp.txt sort < temp.txt >

I nomi possono essere contenuti in array; per la generazione di numeri casuali si faccia affidamento alla funzione random (pydoc random); per le attese, si faccia

• congruità dei risultati degli altri metodi su input normali (stringhe/interi non nulli). Nella fase di setUp è necessario creare un oggetto della classe

• print_list(l) che stampa tutti gli elementi di una lista passata come parametro entrambe le funzioni devono sfruttare solo le 4 operazioni messe a disposizione da Lista. Tempo

Si sostituisca il buffer di testo con un'area di disegno all'interno della quale sono mostrate delle icone rappresentative degli animali. Si arricchisca la classe Animale con

A partire dal contenuto del file esami-ematici crei un array associativo $elencoesami usando come chiave il nome dell’esame e come valore un vettore contenete il valore

Il ciclo termina quando da tastiera si inserisce la stringa “*” che verrà comunque scritta nella pipe vocaboli. Il padre