Tcl-tk-tcl-file-io
Tcl-ファイルI/O
Tclは、組み込みコマンドopen、read、puts、gets、closeの助けを借りてファイル処理をサポートします。
ファイルは一連のバイトを表し、テキストファイルまたはバイナリファイルのどちらでもかまいません。
ファイルを開く
Tclは、openコマンドを使用してTclでファイルを開きます。 ファイルを開くための構文は次のとおりです-
open fileName accessMode
ここで、ファイル名*は文字列リテラルであり、これを使用してファイルに名前を付け、 *accessMode は次のいずれかの値を持つことができます-
Sr.No. | Mode & Description |
---|---|
1 |
r 読み取り用に既存のテキストファイルを開きます。ファイルは存在している必要があります。 これは、accessModeが指定されていない場合に使用されるデフォルトモードです。 |
2 |
w 書き込み用にテキストファイルを開きます。テキストファイルが存在しない場合は、新しいファイルが作成され、存在しない場合は既存のファイルが切り捨てられます。 |
3 |
a 追加モードで書き込むためにテキストファイルを開き、ファイルが存在する必要があります。 ここで、プログラムは既存のファイルコンテンツにコンテンツの追加を開始します。 |
4 |
rPLUS 読み取りと書き込みの両方のためにテキストファイルを開きます。 ファイルはすでに存在している必要があります。 |
5 |
wPLUS 読み取りと書き込みの両方のためにテキストファイルを開きます。 最初にファイルが存在する場合はファイルをゼロ長に切り捨て、存在しない場合はファイルを作成します。 |
6 |
aPLUS 読み取りと書き込みの両方のためにテキストファイルを開きます。 ファイルが存在しない場合は作成します。 読み取りは最初から始まりますが、書き込みは追加のみ可能です。 |
ファイルを閉じる
ファイルを閉じるには、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
これは、ファイルの終わりまでファイルを1行ずつ読み込む別の例です-
#!/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