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