Tcl - We / Wy pliku

Tcl obsługuje obsługę plików za pomocą wbudowanych poleceń open, read, puts, get i close.

Plik reprezentuje sekwencję bajtów, nie ma znaczenia, czy jest to plik tekstowy, czy plik binarny.

Otwieranie plików

Tcl używa polecenia open do otwierania plików w Tcl. Składnia otwierania pliku jest następująca -

open fileName accessMode

Tutaj, filename jest literałem łańcuchowym, którego użyjesz do nazwania pliku i accessMode może mieć jedną z następujących wartości -

Sr.No. Tryb i opis
1

r

Otwiera istniejący plik tekstowy do odczytu i plik musi istnieć. Jest to domyślny tryb używany, gdy nie określono accessMode.

2

w

Otwiera plik tekstowy do zapisu, jeśli nie istnieje, tworzony jest nowy plik, w przeciwnym razie istniejący plik jest obcięty.

3

a

Otwiera plik tekstowy do zapisu w trybie dołączania i plik musi istnieć. Tutaj Twój program rozpocznie dołączanie zawartości do istniejącej zawartości pliku.

4

r+

Otwiera plik tekstowy do odczytu i zapisu obu. Plik musi już istnieć.

5

w+

Otwiera plik tekstowy do odczytu i zapisu obu. Najpierw skraca plik do zerowej długości, jeśli istnieje, w przeciwnym razie tworzy plik, jeśli nie istnieje.

6

a+

Otwiera plik tekstowy do odczytu i zapisu obu. Tworzy plik, jeśli nie istnieje. Czytanie rozpocznie się od początku, ale tekst można tylko dołączyć.

Zamykanie pliku

Aby zamknąć plik, użyj polecenia close. Składnia zamknięcia jest następująca -

close fileName

Każdy plik, który został otwarty przez program, musi zostać zamknięty, gdy program zakończy korzystanie z tego pliku. W większości przypadków pliki nie muszą być jawnie zamykane; są zamykane automatycznie, gdy obiekty File są automatycznie kończone.

Pisanie pliku

Polecenie Puts służy do zapisu do otwartego pliku.

puts $filename "text to write"

Poniżej przedstawiono prosty przykład zapisu do pliku.

#!/usr/bin/tclsh

set fp [open "input.txt" w+]
puts $fp "test"
close $fp

Kiedy powyższy kod jest kompilowany i wykonywany, tworzy nowy plik input.txt w katalogu, w którym został uruchomiony (w katalogu roboczym programu).

Czytanie pliku

Oto proste polecenie odczytu z pliku -

set file_data [read $fp]

Pełny przykład odczytu i zapisu pokazano poniżej -

#!/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

Kiedy powyższy kod jest kompilowany i wykonywany, odczytuje plik utworzony w poprzedniej sekcji i generuje następujący wynik -

test

Oto kolejny przykład odczytu pliku do końca pliku wiersz po wierszu -

#!/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

Kiedy powyższy kod jest kompilowany i wykonywany, odczytuje plik utworzony w poprzedniej sekcji i generuje następujący wynik -

test
test