- Tcl教程
- Tcl - 首页
- Tcl - 概述
- Tcl - 环境设置
- Tcl - 特殊变量
- Tcl - 基本语法
- Tcl - 命令
- Tcl - 数据类型
- Tcl - 变量
- Tcl - 运营商
- Tcl - 决策
- Tcl - 循环
- Tcl - 数组
- Tcl - 字符串
- Tcl - 列表
- Tcl - 字典
- Tcl - 程序
- Tcl - 套餐
- Tcl - 命名空间
- Tcl - 文件 I/O
- Tcl - 错误处理
- Tcl - 内置函数
- Tcl - 正则表达式
- TK 教程
- Tk - 概述
- Tk-环境
- Tk - 特殊变量
- Tk - 小部件概述
- Tk - 基本小部件
- Tk - 布局小部件
- Tk - 选择小部件
- Tk - 画布小部件
- Tk - 大型小部件
- Tk-字体
- Tk - 图像
- Tk - 活动
- Tk-Windows 管理器
- Tk - 几何管理器
- Tcl/Tk 有用资源
- Tcl/Tk - 快速指南
- Tcl/Tk - 有用的资源
- Tcl/Tk - 讨论
Tcl - 文件 I/O
Tcl 在内置命令 open、read、puts、gets 和 close 的帮助下支持文件处理。
文件代表字节序列,无论它是文本文件还是二进制文件。
打开文件
Tcl 使用 open 命令打开 Tcl 中的文件。打开文件的语法如下 -
open fileName accessMode
在这里,文件名是字符串文字,您将使用它来命名文件,并且accessMode可以具有以下值之一 -
先生。 | 模式及说明 |
---|---|
1 | r 打开现有文本文件以进行读取,并且该文件必须存在。这是未指定 accessMode 时使用的默认模式。 |
2 | w 打开一个文本文件进行写入,如果不存在,则创建一个新文件,否则现有文件将被截断。 |
3 | A 打开一个文本文件以追加模式写入,并且文件必须存在。在这里,您的程序将开始在现有文件内容中附加内容。 |
4 | r+ 打开一个文本文件以进行读写。文件必须已经存在。 |
5 | 瓦+ 打开一个文本文件以进行读写。如果文件存在,它首先将文件截断为零长度,否则创建文件(如果不存在)。 |
6 | 一个+ 打开一个文本文件以进行读写。如果文件不存在,它将创建该文件。阅读会从头开始,但写作只能追加。 |
关闭文件
要关闭文件,请使用 close 命令。close 的语法如下 -
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]
读取和写入的完整示例如下所示 -
#!/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
这是逐行读取文件直到文件末尾的另一个示例 -
#!/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
当上面的代码被编译和执行时,它会读取上一节中创建的文件并产生以下结果 -
test test