带空间的TCL输出
我有5个不同的变量来自不同的if和loop语句,当我使用“put”将输出放入文本文件时,所有字符和数字都是这样的:带空间的TCL输出,tcl,tk,Tcl,Tk,我有5个不同的变量来自不同的if和loop语句,当我使用“put”将输出放入文本文件时,所有字符和数字都是这样的:alphaclass112098voip。在哪里 variables: name = alpha category = class1 number = 12098 service = voip 我希望像这样在文件中输出,在同一行上有空格 Alpha class1 12098 voip Beta class1 12093 DHCP SIP 在某些时候,为了将来的目的,我还想
alphaclass112098voip
。在哪里
variables: name = alpha
category = class1
number = 12098
service = voip
我希望像这样在文件中输出,在同一行上有空格
Alpha class1 12098 voip
Beta class1 12093 DHCP SIP
在某些时候,为了将来的目的,我还想使用分隔符。处理这个问题的最简单方法是构造一个表示记录的Tcl列表。您可以使用
lappend
逐段执行此操作,也可以使用list
同时执行所有操作。或者把它们混在一起
foreach name $names category $categories number $numbers service $services {
set record [list $name $category]
lappend record $number
lappend record $service
puts $record
}
这以Tcl易于解析的格式显示了每一行的记录(如果名称中有空格,您就会明白我的意思)。要使用分隔符来分隔值,则join
命令非常有用:
puts [join $record $delimiter]
默认分隔符是空格,但请尝试使用:
来查看其工作原理
如果您正在生成CSV文件,请务必在Tcllib中使用。它为您处理棘手的边缘情况(例如,嵌入逗号)。请显示您的代码