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