gpt4 book ai didi

Tcl/Tk 写入特定行

转载 作者:行者123 更新时间:2023-12-02 06:53:15 25 4
gpt4 key购买 nike

我想在 Textdocument 的特定行中写入,但我的代码有问题,我不知道错误在哪里。

set fp [open C:/Users/user/Desktop/tst/settings.txt w]
set count 0
while {[gets $fp line]!=-1} {
incr count
if {$count==28} {
break
}
}
puts $fp "TEST"
close $fp

文件只包含测试。有人有想法吗?

最佳答案

对于短文本文件(如今,短的文件高达数百兆字节!)最简单的方法是将整个文件读入内存,在那里进行文本手术,然后将所有文件写回内存。例如:

set filename "C:/Users/user/Desktop/tst/settings.txt"

set fp [open $filename]
set lines [split [read $fp] "\n"]
close $fp

set lines [linsert $lines 28 "TEST"]
# Read a line with lindex, find a line with lsearch
# Replace a line with lset, replace a range of lines with lreplace

set fp [open $filename w]
puts $fp [join $lines "\n"]
close $fp

这样做非常容易,并且避免了更新文件时可能发生的许多复杂情况;将这些保存为千兆字节大小的文件(在任何理智的世界中都不会称为 settings.txt ......)

关于Tcl/Tk 写入特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37805957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com