当前位置:   article > 正文

Tcl常用命令备忘录-访问文件篇_tcl file

tcl file

7aaac328278b45e6869b79b71cf61ee9.jpg

 

1)file命令

介绍:Tcl的file命令是用于操作文件系统的命令,可以进行文件或目录的创建、删除、重命名、复制、移动、属性获取等操作。

语法:file option ?arg arg ...?

参数说明:

  • option 表示要执行的操作,可以是以下任意一个:

    • atime:获取或设置文件的访问时间
    • attributes:获取或设置文件的属性
    • channels:获取所有打开的文件
    • copy:复制文件
    • delete:删除文件或目录
    • dirname:获取指定路径的目录名
    • executable:检查文件是否可执行
    • exists:检查文件是否存在
    • extension:获取文件名的扩展名
    • isdirectory:检查指定的路径是否是目录
    • isfile:检查指定的路径是否是普通文件
    • join:连接路径名
    • link:创建硬链接或符号链接
    • lstat:获取符号链接的信息
    • mtime:获取或设置文件的修改时间
    • mkdir:创建目录
    • nativename:获取指定路径的本机格式
    • normalize:将路径标准化
    • owned:检查文件是否属于当前用户
    • pathtype:获取指定路径的类型
    • read:读取文件内容
    • readlink:读取符号链接指向的路径
    • realpath:获取指定路径的真实路径
    • rename:重命名文件或目录
    • rootname:获取指定文件名的根名称
    • separator:获取当前平台下路径分隔符
    • size:获取文件大小
    • split:分解路径名
    • stat:获取文件的信息
    • tail:获取指定路径的文件名
    • type:获取指定路径的类型
    • volumes:获取所有可用的卷
  • arg 表示执行操作所需要的参数,不同option需要的参数不一样。

示例:

  1. 检查文件是否存在
  1. if {[file exists "test.txt"]} {
  2. puts "文件存在"
  3. } else {
  4. puts "文件不存在"
  5. }

 

输出:

如果test.txt存在,则输出"文件存在",否则输出"文件不存在"。

  1. 创建目录
  1. set dirPath "D:/test"
  2. if {[file exists $dirPath] == 0} {
  3. if {[file mkdir $dirPath] != 0} {
  4. puts "创建目录失败"
  5. } else {
  6. puts "创建目录成功"
  7. }
  8. } else {
  9. puts "目录已存在"
  10. }

 

输出:

如果D:/test目录不存在,则创建该目录并输出"创建目录成功",否则输出"目录已存在"。

  1. 读取文件内容
  1. set file "test.txt"
  2. if {[file exists $file]} {
  3. set fp [open $file r]
  4. set content [read $fp]
  5. close $fp
  6. puts "文件内容:$content"
  7. } else {
  8. puts "文件不存在"
  9. }

 

输出:

如果test.txt文件存在,则输出文件内容,否则输出"文件不存在"。

示例解释:

第一个例子中,使用file exists检查文件是否存在,如果存在则输出"文件存在",否则输出"文件不存在"。

第二个例子中,通过file mkdir创建目录,如果创建成功则输出"创建目录成功",否则输出"创建目录失败";如果目录已存在则输出"目录已存在"。

第三个例子中,使用file exists检查文件是否存在,如果存在则打开文件,使用read读取文件内容,并输出到控制台。注意:一定要在读取完内容后及时关闭文件,否则可能会出错。

2)open

介绍:open命令用于打开指定的文件,并返回一个与该文件相关联的通道。

语法:

open fileName ?access? ?permissions?

 

参数说明:

  • fileName:要打开的文件名。可以是文件的绝对路径或相对路径。
  • access:文件访问模式。可以是以下取值之一:
    • r:只读模式。
    • w:写入模式。如果文件已经存在,则会被清空。如果文件不存在,则会被创建。
    • a:追加模式。如果文件已经存在,则新内容会被追加到文件的末尾。如果文件不存在,则会被创建。
  • permissions:文件权限。取值为一个八进制数,表示文件的访问权限。该参数只在创建新文件时有效。

示例:

  1. set file [open "test.txt" "w"]
  2. puts $file "Hello, world!"
  3. close $file

 

输出:

示例解释:

以上示例代码打开一个名为test.txt的文件,并将其设置为写入模式。然后,向文件中写入一行字符串"Hello, world!",最后关闭文件。

 

3)puts

介绍:在Tcl编程中,可以使用puts命令将内容输出到文件中。这在需要将程序输出保存到文件中时非常有用。

语法:puts fileId ?-nonewline? string

参数说明:

  • fileId:指定要输出到的文件的id号。该参数可以通过使用open命令打开文件时获取。
  • -nonewline:可选参数,如果指定该参数,则输出的内容不会自动换行。
  • string:要输出到文件中的内容。

示例:

  1. set fileId [open "output.txt" w]
  2. puts $fileId "Hello, World!"
  3. close $fileId

 

输出:

Hello, World!

 

示例解释:以上例子中,我们首先使用open命令打开一个文件,该文件的名字为"output.txt",操作为写文件("w")。接着,我们使用puts命令将字符串"Hello, World!"输出到该文件中。最后,我们使用close命令关闭该文件。因此,输出的内容为"Hello, World!",该内容被保存在名为"output.txt"的文件中。

 

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/655141
推荐阅读
相关标签
  

闽ICP备14008679号