В коде TCL - как читать текстовый файл Windows? - PullRequest
0 голосов
/ 04 сентября 2018

Как читать текстовый файл (Windows) в TCL?
Я написал некоторый код PowerShell, который генерирует текстовый файл с несколькими значениями. Сгенерированные значения служат входными данными для дальнейшей обработки.

Мне нужна необходимая логика для чтения содержимого с использованием TCL.
Как я могу это сделать?

1 Ответ

0 голосов
/ 04 сентября 2018

Чтобы прочитать файл, содержащий текст, предполагая, что вы знаете, что файл называется 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!

...