Tcl 写入最后一行的文本文件
Tcl write to textfile in the last row
如果用户通过对话框单击“是”,我想完成现有的文本文件。
实际代码覆盖现有文件!
set answer [tk_messageBox -message "file already exists, do you want to add more?" -title "Configuration Check" -type yesno -parent .example1]
case $answer {
yes {
set fid [open $::filename2/testfile.txt w]
puts $fid "last row"
close $fid
有没有办法转到现有的最后一行并完成文件?
此致
您正在使用 w
的访问权限打开文件,这会导致文件存在时被截断,文件不存在时被创建。您需要做的是使用 a
或 a+
的访问权限打开文件,第一个打开现有文件并定位文件,以便您在最后写入,第二个执行相同但创建文件如果不存在。
set fid [open $::filename2/testfile.txt a+]
可能是你需要的。
或者查看 seek
和 tell
命令,这些命令允许您更改打开文件中的位置,
如果用户通过对话框单击“是”,我想完成现有的文本文件。 实际代码覆盖现有文件!
set answer [tk_messageBox -message "file already exists, do you want to add more?" -title "Configuration Check" -type yesno -parent .example1]
case $answer {
yes {
set fid [open $::filename2/testfile.txt w]
puts $fid "last row"
close $fid
有没有办法转到现有的最后一行并完成文件?
此致
您正在使用 w
的访问权限打开文件,这会导致文件存在时被截断,文件不存在时被创建。您需要做的是使用 a
或 a+
的访问权限打开文件,第一个打开现有文件并定位文件,以便您在最后写入,第二个执行相同但创建文件如果不存在。
set fid [open $::filename2/testfile.txt a+]
可能是你需要的。
或者查看 seek
和 tell
命令,这些命令允许您更改打开文件中的位置,