Чтобы прочитать файл, содержащий текст, предполагая, что вы знаете, что файл называется INPUT_DATA.TXT
в текущем каталоге:
set f [open "INPUT_DATA.TXT"]; # Or [open "INPUT_DATA.TXT" "r"]
set lineList [split [read $f] "\n"]
close $f
Это помещает список из строк текста в переменную lineList
. Для этого это open
s имя файла, которое возвращает «дескриптор файла», который я храню в переменной f
. Затем (читая следующую строку кода из самой внутренней части наружу), я read
все содержимое файла из дескриптора файла и split
этой большой строки \n
(новая строка), чтобы получить список всех всех содержимое строк в файле. Наконец, я close
этот дескриптор файла; Обычно их не рекомендуется держать открытыми, когда они вам не нужны, поскольку в ОС доступно конечное число (хотя это конечное число довольно велико).
Далее вам необходимо проделать дополнительную работу, чтобы код понял содержимое файла. Увы, это больше зависит от формата данных, так что на самом деле не существует общего правила.
Если вместо этого вы работали с двоичным файлом, вы могли бы вместо этого сделать:
set f [open "INPUT_DATA.BIN" "rb"]
set data [read $f]
close $f
но двоичные форматы данных гораздо более разнообразны , чем форматы текстовых данных, поэтому «что дальше?» Обобщать еще сложнее. К счастью, двоичные данные в Tcl не слишком сложны; кроме этих дополнительных b
в open
, двоичные данные - это просто еще одна строка для Tcl, а good в строках Tcl!