Учебники

Tcl — File I / O

Tcl поддерживает обработку файлов с помощью встроенных команд открывать, читать, ставить, получать и закрывать.

Файл представляет собой последовательность байтов, не имеет значения, является ли это текстовым файлом или двоичным файлом.

Открытие файлов

Tcl использует команду open для открытия файлов в Tcl. Синтаксис для открытия файла выглядит следующим образом:

open fileName accessMode

Здесь filename является строковым литералом, который вы будете использовать для именования вашего файла, и accessMode может иметь одно из следующих значений:

Sr.No. Режим и описание
1

р

Открывает существующий текстовый файл для чтения, и файл должен существовать. Этот режим используется по умолчанию, если не указан accessMode.

2

вес

Открывает текстовый файл для записи, если он не существует, то создается новый файл, иначе существующий файл усекается.

3

Открывает текстовый файл для записи в режиме добавления, и файл должен существовать. Здесь ваша программа начнет добавлять содержимое в существующий файл содержимого.

4

г & плюс;

Открывает текстовый файл для чтения и записи как. Файл должен существовать уже.

5

ж & плюс;

Открывает текстовый файл для чтения и записи как. Сначала он обрезает файл до нулевой длины, если он существует, в противном случае создайте файл, если он не существует.

6

плюс;

Открывает текстовый файл для чтения и записи как. Он создает файл, если он не существует. Чтение начнется с самого начала, но запись может быть только добавлена.

р

Открывает существующий текстовый файл для чтения, и файл должен существовать. Этот режим используется по умолчанию, если не указан accessMode.

вес

Открывает текстовый файл для записи, если он не существует, то создается новый файл, иначе существующий файл усекается.

Открывает текстовый файл для записи в режиме добавления, и файл должен существовать. Здесь ваша программа начнет добавлять содержимое в существующий файл содержимого.

г & плюс;

Открывает текстовый файл для чтения и записи как. Файл должен существовать уже.

ж & плюс;

Открывает текстовый файл для чтения и записи как. Сначала он обрезает файл до нулевой длины, если он существует, в противном случае создайте файл, если он не существует.

плюс;

Открывает текстовый файл для чтения и записи как. Он создает файл, если он не существует. Чтение начнется с самого начала, но запись может быть только добавлена.

Закрытие файла

Чтобы закрыть файл, используйте команду закрытия. Синтаксис для закрытия следующий —

close fileName 

Любой файл, который был открыт программой, должен быть закрыт, когда программа заканчивает использовать этот файл. В большинстве случаев файлы не нужно закрывать явно; они закрываются автоматически, когда объекты File автоматически завершаются.

Написание файла

Команда Puts используется для записи в открытый файл.

puts $filename "text to write"

Простой пример записи в файл показан ниже.

#!/usr/bin/tclsh

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

Когда приведенный выше код компилируется и выполняется, он создает новый файл input.txt в каталоге, в котором он был запущен (в рабочем каталоге программы).

Чтение файла

Ниже приводится простая команда для чтения из файла —

set file_data [read $fp]

Полный пример чтения и записи показан ниже —

Live Demo

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

Когда приведенный выше код компилируется и выполняется, он читает файл, созданный в предыдущем разделе, и выдает следующий результат:

test

Вот еще один пример для чтения файла до конца файла строка за строкой —

Live Demo

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

Когда приведенный выше код компилируется и выполняется, он читает файл, созданный в предыдущем разделе, и выдает следующий результат: