我有一些麻煩刪除文本文件的內容。從我所知道的情況來看,由於我們使用的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中的文件。 –
是否要刪除或重命名文件?或者你想讀取和寫入文件?!文件保持打開狀態,因爲處理程序已分配給該文件,並且您的應用程序正在處理它。當應用程序釋放處理程序時,文件將被釋放並關閉。 –