私はファイルを開いた tcl プロシージャを持っています。書き込み用に存在しない場合は作成します。現在、デバッグのためにいくつかの puts ステートメントをログに記録しています。このプロセスの最後で、ファイルを閉じます。しかし、途中で別の proc を呼び出しており、その proc で開いているファイルにも何かを書き込む必要があります。だから私はこのようなことをしたい:
proc ::myproc {args} {
set fp [open "C:\\log.txt" w+];
puts $fp "Checkpoint 1";
set retVal [::myprocII];
puts $fp "Checkpoint 2";
close $fp;
return 1;
}
proc ::myprocII {} {
set fp [open "C:\\log.txt" w+];
puts $fp "Checkpoint 3";
close $fp;
return 1;
}
myprocII で同じファイルを開いてデータをログに記録し、それを閉じると、エラーまたは例外の原因になるのではないでしょうか。そして、myprocII でファイルを閉じた後でも、呼び出し元のプロシージャ myproc にデータを記録しています。これをテストしようとしましたが、バッチファイルから実行しているため、エラーが何であるかを理解する前にウィンドウが閉じます。
したがって、これが正しいかどうか、または異なる手順から同じログ ファイルにデータを追加し続けるにはどうすればよいかを知りたかったのです。