Tcl - 檔案 I/O



Tcl 透過內建命令 open、read、puts、gets 和 close 支援檔案處理。

檔案表示位元組序列,無論它是文字檔案還是二進位制檔案。

開啟檔案

Tcl 使用 open 命令在 Tcl 中開啟檔案。開啟檔案的語法如下:

open fileName accessMode

這裡,filename 是字串字面量,您將使用它來命名您的檔案,而 accessMode 可以具有以下值之一:

序號 模式 & 描述
1

r

以讀取目的開啟一個現有的文字檔案,並且檔案必須存在。這是在未指定 accessMode 時使用的預設模式。

2

w

開啟一個文字檔案以進行寫入,如果它不存在,則建立一個新檔案,否則截斷現有檔案。

3

a

以追加模式開啟一個文字檔案,並且檔案必須存在。在這裡,您的程式將開始將內容追加到現有檔案內容中。

4

r+

開啟一個文字檔案以進行讀寫。檔案必須已存在。

5

w+

開啟一個文字檔案以進行讀寫。如果檔案存在,則首先將其長度截斷為零,否則如果檔案不存在,則建立該檔案。

6

a+

開啟一個文字檔案以進行讀寫。如果它不存在,則建立該檔案。讀取將從開頭開始,但寫入只能追加。

關閉檔案

要關閉檔案,請使用 close 命令。close 的語法如下:

close fileName 

程式開啟的任何檔案都必須在程式完成使用該檔案時關閉。在大多數情況下,無需顯式關閉檔案;當檔案物件自動終止時,它們會自動關閉。

寫入檔案

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
廣告

© . All rights reserved.