我有一些麻烦删除文本文件的内容。从我所知道的情况来看,由于我们使用的PLM软件的权限问题,我似乎无法重命名或删除此文件并创建一个具有相同名称的新文件。不幸的是,我自己在这里,因为似乎没有人知道究竟是什么错误。在Tcl中删除文件的内容
但是,我可以读写这个文件。所以我一直在寻找的seek命令,做这样的事情:
set f [open "C:/John/myFile.txt" "a+"]
seek $f 0
set fp [tell $f]
seek $f 0 end
set end [tell $f]
# Restore current file pointer
seek $f $fp
while { $fp < $end } {
puts -nonewline $f " "
incr fp
}
close $f
这似乎替换所有空格线,但我不知道这是解决这个正确的方法。有人能给我一些指点吗?我对Tcl还比较陌生。
谢谢!
好的,我现在看到我的措辞不清楚。该文件是用另一个进程打开的,但读取和写入文件的Tcl脚本也在同一进程中。这只是我只能读写,而不能重命名或删除。整个“权限被拒绝”是我在尝试重命名或删除此过程中的文件时所得到的错误消息。 – Kevin
因此,如果您处于完全打开文件的同一进程中,则应该没有问题。你只需要知道如何操作Tcl中的文件。 –
是否要删除或重命名文件?或者你想读取和写入文件?!文件保持打开状态,因为处理程序已分配给该文件,并且您的应用程序正在处理它。当应用程序释放处理程序时,文件将被释放并关闭。 –