Tcl 文件 I/O

Tcl 文件 I/O

Tcl 借助内置的命令 open、read、puts、gets 和 close 支持文件处理。

文件表示字节序列,不管它是文本文件还是二进制文件。

打开文件

Tcl 使用 open 命令来打开文件。打开文件的语法如下所示 −

open fileName accessMode
Bash

这里,文件名 是字符串文字,您将用它来命名您的文件,而 访问模式 可以具有以下值之一 −

序号 模式和描述
1 r 打开现有文本文件以进行读取,文件必须存在。这是当未指定accessMode时使用的默认模式。
2 w 打开文本文件以进行写入操作,如果文件不存在,则创建一个新文件,否则将截断现有文件。
3 a 以附加模式打开文本文件,文件必须存在。在这种模式下,程序将开始追加内容到现有文件内容中。
4 r+ 以读写模式打开文本文件,文件必须已存在。
5 w+ 以读写模式打开文本文件。如果文件存在,则首先将文件截断为零长度,否则将创建文件。
6 a+ 以读写模式打开文本文件。如果文件不存在,则创建文件。读取将从开头开始,但只能追加写入。

关闭文件

要关闭文件,请使用close命令。close的语法如下:

close fileName
Bash

任何被程序打开的文件,在程序使用完该文件后必须关闭。大多数情况下,不需要显式地关闭文件,当文件对象自动终止时,它们会自动关闭。

写入文件

使用Puts命令向一个打开的文件写入内容。

puts $filename "text to write"
Bash

下面是一个简单的写入文件的示例。

#!/usr/bin/tclsh

set fp [open "input.txt" w+]
puts fp "test"
closefp
Bash

当以上代码被编译和执行时,在它所在的目录下(程序的工作目录下)创建一个新文件。

读取文件

以下是从文件中读取的简单命令:

set file_data [read $fp]
Bash

下面是一个完整的读写示例:

#!/usr/bin/tclsh

set fp [open "input.txt" w+]
puts fp "test"
closefp
set fp [open "input.txt" r]
set file_data [read fp]
putsfile_data
close $fp
Bash

当以上代码被编译和执行时,它会读取前一部分创建的文件,并产生以下结果 –

test
Bash

以下是按行读取文件直到文件末尾的另一个示例−

#!/usr/bin/tclsh

set fp [open "input.txt" w+]
puts fp "test\ntest"
closefp
set fp [open "input.txt" r]

while { [gets fp data] >= 0 } {
   putsdata
}
close $fp
Bash

当上述代码被编译和执行时,它读取在之前部分创建的文件,并产生以下结果 −

test
test
Bash

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程