write Python

In questa lezione studieremo il metodo write in Python per poter scrivere sui file di testo.

Dopo aver aperto il file in scrittura possiamo infatti scrivere su di esso.

f = open(“coding.txt“, ‘w‘)
f.write(“Il coding è fondamentale per incrementare il pensiero logico”)
f.close() #chiusura stream

In questo semplice esempio abbiamo creato un oggetto f sul quale abbiamo poi utilizzato 2 metodi: write() e close() di Python.

L’oggetto si crea utilizzando la funzione open(), spiegata nella lezione precedente.

Il metodo write() in Python consente, dopo l’apertura del file, di poter scrivere su di esso. Attenzione, se c’era già del contenuto esso verrà sosvrascritto. Dopo, per salvare quanto scritto sul file, occorre chiuderlo utilizzando il metodo close().

L’operazione di chiusura, come abbiamo già spiegato, consente il salvataggio del file nella memoria di massa.

Nel metodo write si specifica dunque la stringa che vogliamo inserire nel file di testo.

write Python con append

Supponiamo adesso di voler aggiungere del testo ad un file esistente. Per farlo dobbiamo utilizzare la modalità mode = ‘a’.

Facciamo un semplice esempio:

f = open(“coding.txt“, ‘a‘)
f.write(“Divertitevi a programmare in Python.”)
f.close() #chiusura stream

Se apriamo il file coding.txt possiamo notare che il testo è attaccato al codice di prima. Come possiamo fare per scrivere la frase a capo in una nuova riga?

Potremmo semplicemente scrivere:

f.write(“nDivertitevi a programmare in Python”)

Abbiamo aggiunto n per andare a capo ed iniziare a scrivere in una nuova riga.

In questa lezione abbiamo parlato del metodo write in Python per scrivere su un file, nella prossima lezione continueremo a fare degli esempi.

Alcuni link utili

Indice tutorial sul linguaggio Python

1 – Introduzione al linguaggio Python

2 – Le variabili

3 – Operatori aritmetici e di assegnazione

4 – Stringhe

5 – Casting

6 – Input e print

7 – Primi esercizi in Python

8 – Errori in Python

9 – Script Python

Continua la lettura su: https://www.codingcreativo.it/write-python/ Autore del post: Coding Creativo Fonte: https://www.codingcreativo.it

Articoli Correlati

open in Python

In questa lezione studieremo il metodo open in Python, ovvero vedremo come aprire un file di testo o binario.

Nella precedente lezione abbiamo parlato di file e abbiamo visto la differenza tra file binari e di testo (o ASCII). Nei nostri esempi saranno usati principalmente file di testo per memorizzare archivi sia con lunghezza fissa sia con lunghezza variabile.

Dunque, per operare su un file in linguaggio Python dobbiamo eseguire queste semplici fasi:

innanzitutto aprire il file specificando: nome, estensione (obbligatori) e tipo di accesso (se in scrittura, lettura, in modalità append per aggiungere contenuto ad un file esistente, in lettura e scrittura. Dato opzionale in quanto ha un valore di default che è in lettura). Oltre a questi valori ci sono altri argomenti che si possono indicare e che vedremo a mano a mano nel tutorial;dopo fare le operazioni sul file;infine chiudere il file.

Se il file non si trova nella stessa cartella del file Python occorre specificare il percorso corretto. Se siete alle prime armi vi consiglio di lasciare il file nella stessa cartella del file di Python.

Open in Python

I flussi vengono descritti tramite le classi, ovvero un elenco di proprietà e metodi collegati tra loro. Una volta dichiarata una variabile di tipo oggetto si dispone di tutte le proprietà e metodi collegati ad esso.

Uno dei metodi che vi voglio presentare è proprio open in Python che ci permette di aprire un file.

Vediamolo in dettaglio, supponendo di voler aprire un file di nome coding.txt che si trova nella stessa cartella del nostro file Python.

f=open(‘coding.txt‘,’r’) # Apertura in input

Consente di aprire il file solo per la lettura dei caratteri. Ma attenzione, se il file non esiste ci restituirà un errore!

Puntualizziamo però che la sintassi completa sarebbe questa:

f = open(‘coding.txt’, mode = ‘r’)

Ma possiamo anche omettere mode.

Da notare cha abbiamo dichiarato una variabile f di tipo oggetto sulla quale poi applicheremo i vari metodi.

Facciamo adesso un altro semplice esempio:

f = open(‘coding.txt’,’w’) # Apertura in output

Si apre il file e si consente la scrittura su di esso. Ma attenzione, se il file esiste viene cancellato e ricreato!

Vediamo in dettaglio le varie modalità di apertura di un file.

Modalità di apertura di un file in Python

Approfondiamo il metodo open in Python studiando in dettaglio le varie modalità di accesso.

Di seguito ecco una tabella esplicativa dei tipi di accesso ad un file in Python.

ModalitàEsempioUtilizzoropen(‘coding.txt’,’r’)Valore di default. Crea il file e lo apre in sola lettura. Se il file esiste non esiste viene restituito un messaggio di errore.wopen(‘coding.txt’,’w’)Crea il file e lo apre in sola scrittura. Se il file esiste viene cancellato.aopen(‘coding.txt’,’a’)Apre in file in modalità append, ovvero consente di aggiungere testo in un file già esistente. Se il file non esiste lo crea.+open(‘coding.txt’,’r+’)Apre il file in modalità lettura e scrittura in modalità append. Se il file non esiste restituisce errore.xopen(‘coding.txt’,’x’)Crea il file, se già il file esiste restituisce errore.topen(‘coding.txt’,’t’)Apre un file in modalità testo.bopen(‘coding.jpg’,’b’)Apre un file in modalità binaria. Ad esempio per le immagini.

Facciamo adesso un esempio combiando più opzioni di quelle elencate nella tabella sopra:

f=open(‘coding.jpg’,’r+b’)

Questa semplicissiam riga di codice consente di aprire un file binario di nome coding.jpg in lettura e scrittura.

In questa lezione abbiamo dunque introdotto il metodo open in Python nella prossima parleremo del metodo write.

Alcuni link utili

Indice tutorial sul linguaggio Python

1 – Introduzione al linguaggio Python

2 – Le variabili

3 – Operatori aritmetici e di assegnazione

4 – Stringhe

5 – Casting

6 – Input e print

7 – Primi esercizi in Python

Ordinare un dizionario in Python

Si può ordinare un dizionario in Python per chiave o per valore. Facciamo alcuni esempi pratici di ordinamento in Python in base alle nostre esigenze.

Tutti gli esempi proposti possono essere provati nel compiler online che troverete al seguente link: Python compiler online.

Primo esempio – Ordinare un dizionario in Python per chiave

In questo primo esempio dapprima creiamo un dizionario in Python. Abbiamo poi detto di ordinare per chiave, quindi dobbiamo decidere se seguire un ordine crescente o decrescente, infine dobbiamo richiamare la funzione sul dizionario.

Implementiamo, dunque, una prima soluzione. Per ordinare in senso crescente possiamo utilizzare la funzione sorted sul nostro dizionario, in questo modo:

student = {
“name”: ‘Cristina’,
“age”: ’29’,
“hobby”: ‘swim’,
“mail”: ‘codingcreatico@gmail.com’,
“passion”: ‘coding’
}

for key in sorted(student):
print(key, student[key])

E se vogliamo un ordinamento decrescente? Basterà semplicemente utilizzare il parametro reverse della funzione sorted, impostandolo a False.

Ecco un esempio di dizionario ordinato in senso decrescente in Python:

student = {
“name”: ‘Cristina’,
“age”: ’29’,
“hobby”: ‘swim’,
“mail”: ‘codingcreatico@gmail.com’,
“passion”: ‘coding’
}

for key in sorted(student, reverse = True):
print(key, student[key])

Secondo esempio – Ordinare un dizionario in Python per chiave

Cerchiamo adesso una seconda soluzione al problema proposto.

Innanzitutto potremmo ad esempio pensare di utilizzare il metodo keys() sul dizionario, ma cosa succede?

Proviamolo, dunque, con un esempio:

student = {
“name”: ‘Cristina’,
“age”: ’29’,
“hobby”: ‘swim’,
“mail”: ‘codingcreatico@gmail.com’,
“passion”: ‘coding’
}

sorted_key = sorted(student.keys())

for element in sorted_key:
print(element)

In questo caso si avrà il seguente output:

age
hobby
mail
name
passion

Ovvero avremo le sole chiavi ordinate in senso crescente.

Quindi, anche se uso il metodo dict() non riuscirò in questo modo ad ordinare un dizionario in Python.

E se invece proviamo ad utilizzare il metodo values()?

student = {
“name”: ‘Cristina’,
“age”: ’29’,
“hobby”: ‘swim’,
“mail”: ‘codingcreatico@gmail.com’,
“passion”: ‘coding’
}

sorted_values = sorted(student.values())

for element in sorted_values:
print(element)

Il risultato sarà il seguente:

29
Cristina
coding
codingcreatico@gmail.com
swim

Quindi se voglio ordinare un dizionario in Python per chiave cosa devo fare? Quale altra soluzione posso pensare?

Possiamo, ad esempio, utilizzare il metodo items(), che abbiamo studiato in questa lezione: items Python.

Ricordiamo inoltre che questo metodo è utilizzato per restituire l’elenco con tutte le chiavi del dizionario con i suoi rispettivi valori.

Dopo, possiamo nuovamente riconvertire le coppie di tuple in un dizionario utilizzando il metodo dict().

Ecco una possibile soluzione al nostro algoritmo:

student = {
“name”: ‘Cristina’,
“age”: ’29’,
“hobby”: ‘swim’,
“mail”: ‘codingcreatico@gmail.com’,
“passion”: ‘coding’
}

sorted_student = sorted(student.items())
sorted_student_dict = dict(sorted(student.items()))

print(sorted_student_dict)

for element in sorted_student_dict:
print(element, ‘: ‘, sorted_student_dict[element])

Così abbiamo ottenuto tutte le coppie di tuple chiave, valori ordinate in senso crescente. Poi, convertiamolo in dizionario con il metodo dict(). Così riusciamo ad ordinare il dizionario in Python per chiave.

Utilizziamo una funzione per poterla poi utilizzare per creare l’ordinamento su più dizionari:

student = {
“name”: ‘Cristina’,
“age”: ’29’,
“hobby”: ‘swim’,
“mail”: ‘codingcreatico@gmail.com’,
“passion”: ‘coding’
}

def sort_dict(d):
return dict(sorted(student.items()))

print(sort_dict(student))

Ordinare un dizionario in Python per chiave in senso decrescente

Questa volta utilizziamo il parametro reverse di sorted per creare un ordinamento decrescente sui dizionari. Infatti impostandolo a True l’ordinamento sarà decrescente. Di default il suo valore è False.

student = {
“name”: ‘Cristina’,
“age”: ’29’,
“hobby”: ‘swim’,
“mail”: ‘codingcreatico@gmail.com’,
“passion”: ‘coding’
}

def sort_dict(d):
return dict(sorted(student.items(), reverse = True))

print(sort_dict(student))

Per completezza potremmo passare questo parametro anche alla funzione, in questo modo:

student = {
“name”: ‘Cristina’,
“age”: ’29’,
“hobby”: ‘swim’,
“mail”: ‘codingcreatico@gmail.com’,
“passion”: ‘coding’
}

def sort_dict(d, rev):
return dict(sorted(student.items(), reverse = rev))

print(sort_dict(student, True))

Conclusione

In questa lezione abbiamo affrontato alcuni interessanti esempi su come ordinare un dizionario in Python per chiave, in ordine crescente e decrescente.

Alcuni link utili

Indice tutorial sul linguaggio Python

1 – Introduzione al linguaggio Python

2 – Le variabili

3 – Operatori aritmetici e di assegnazione

4 – Stringhe

5 – Casting

6 – Input e print

7 – Primi esercizi in Python

8 – Errori in Python

9 – Script Python

10 – Scambio di variabili

11 – Modulo math

Vuoi rimanere aggiornato sulle nuove tecnologie per la Didattica e ricevere suggerimenti per attività da fare in classe?

Sei un docente?

soloscuola.it la prima piattaforma
No Profit gestita dai

Volontari Per la Didattica
per il mondo della Scuola. 

 

Tutti i servizi sono gratuiti. 

Associazione di Volontariato Koinokalo Aps

Ente del Terzo Settore iscritta dal 2014
Tutte le attività sono finanziate con il 5X1000