如果用户通过对话框单击“是”,我想完成现有的文本文件。 实际代码会覆盖现有文件!
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
有任何想法转到最后一行并完成文件吗?
最好的问候
答案 0 :(得分:2)
您正在使用w
的访问权限打开文件,如果该文件存在则会截断该文件,如果该文件不存在则会创建该文件。您需要做的是打开文件,访问a
或a+
,第一个打开现有文件并定位文件,以便您在结束时写入,第二个执行相同但创建文件,如果它不存在。
set fid [open $::filename2/testfile.txt a+]
可能是你需要的。
或者查看seek
和tell
命令,这些命令允许您更改已打开文件中的位置,