我正在尝试读取文件中的每一行并将该行复制到新文件中。然后第二行进入第二个文件,依此类推。我使用以下代码,但不是一行,我得到每个文件中的所有行。非常感谢提前
set fp [open "point_dip.txt" r ]
set file_data [read $fp]
set lines [split $file_data "\n"]
set ii 1
foreach line $lines {
set filename "$ii.txt"
set fileId [open $filename "w"]
puts -nonewline $fileId $lines
close $fileId
set ii [expr $ii + 1]
}
答案 0 :(得分:3)
你犯了打字错误。以下一行:
puts -nonewline $fileId $lines
应该是:
puts -nonewline $fileId $line
没有s
,因为对于s
,变量$lines
包含所有行。
你也可以使用incr ii
代替set ii [expr $ii + 1]
,你应该正确地缩进你的行,即使它在Tcl中没有多大关系。这只是为了提高可读性。