Tcl - File I / O
Tcl supporta la gestione dei file con l'aiuto dei comandi incorporati open, read, put, gets e close.
Un file rappresenta una sequenza di byte, non importa se si tratta di un file di testo o di un file binario.
Apertura di file
Tcl usa il comando open per aprire i file in Tcl. La sintassi per aprire un file è la seguente:
open fileName accessMode
Qui, filename è una stringa letterale, che verrà utilizzata per denominare il file e accessMode può avere uno dei seguenti valori:
Sr.No. | Modalità e descrizione |
---|---|
1 | r Apre un file di testo esistente a scopo di lettura e il file deve esistere. Questa è la modalità predefinita utilizzata quando non è specificato accessMode. |
2 | w Apre un file di testo per la scrittura, se non esiste, viene creato un nuovo file altrimenti il file esistente viene troncato. |
3 | a Apre un file di testo per la scrittura in modalità di aggiunta e il file deve esistere. Qui, il tuo programma inizierà ad aggiungere contenuto al contenuto del file esistente. |
4 | r+ Apre un file di testo per leggere e scrivere entrambi. Il file deve esistere già. |
5 | w+ Apre un file di testo per leggere e scrivere entrambi. Prima tronca il file a lunghezza zero se esiste, altrimenti crea il file se non esiste. |
6 | a+ Apre un file di testo per leggere e scrivere entrambi. Crea il file se non esiste. La lettura inizierà dall'inizio, ma la scrittura può essere solo aggiunta. |
Chiusura di un file
Per chiudere un file, usa il comando close. La sintassi per la chiusura è la seguente:
close fileName
Qualsiasi file che è stato aperto da un programma deve essere chiuso quando il programma termina di utilizzare quel file. Nella maggior parte dei casi, i file non devono essere chiusi esplicitamente; vengono chiusi automaticamente quando gli oggetti File vengono terminati automaticamente.
Scrivere un file
Il comando Puts viene utilizzato per scrivere su un file aperto.
puts $filename "text to write"
Di seguito è mostrato un semplice esempio per la scrittura su un file.
#!/usr/bin/tclsh
set fp [open "input.txt" w+]
puts $fp "test"
close $fp
Quando il codice precedente viene compilato ed eseguito, crea un nuovo file input.txt nella directory in cui è stato avviato (nella directory di lavoro del programma).
Leggere un file
Di seguito è riportato il semplice comando per leggere da un file:
set file_data [read $fp]
Di seguito è riportato un esempio completo di lettura e scrittura:
#!/usr/bin/tclsh
set fp [open "input.txt" w+]
puts $fp "test"
close $fp
set fp [open "input.txt" r]
set file_data [read $fp]
puts $file_data
close $fp
Quando il codice sopra viene compilato ed eseguito, legge il file creato nella sezione precedente e produce il seguente risultato:
test
Ecco un altro esempio per leggere il file fino alla fine del file riga per riga:
#!/usr/bin/tclsh
set fp [open "input.txt" w+]
puts $fp "test\ntest"
close $fp
set fp [open "input.txt" r]
while { [gets $fp data] >= 0 } {
puts $data
}
close $fp
Quando il codice sopra viene compilato ed eseguito, legge il file creato nella sezione precedente e produce il seguente risultato:
test
test