如何在TCL中读取文本文件(Windows)?
我编写了一些PowerShell代码,该代码生成具有多个值的文本文件。生成的值用作进一步处理的输入数据。
我需要使用TCL读取内容的逻辑。
我怎样才能做到这一点?
答案 0 :(得分:1)
要读取包含文本的文件,假设您知道该文件在当前目录中称为INPUT_DATA.TXT
:
set f [open "INPUT_DATA.TXT"]; # Or [open "INPUT_DATA.TXT" "r"]
set lineList [split [read $f] "\n"]
close $f
这会将文本的行的列表放入变量lineList
中。为此,open
是文件名,该文件名返回了我存储在变量f
中的“文件句柄”。然后(从最里面的部分向外读取下一行代码)我read
从文件句柄split
到文件的全部内容,然后\n
用close
(换行符)得到大字符串,得到文件中所有行内容的列表。最后,我set f [open "INPUT_DATA.BIN" "rb"]
set data [read $f]
close $f
那个文件句柄;当您不需要它们时,通常不要将它们保持打开状态,因为操作系统具有可用的有限数量(尽管该数量很大)。
接下来,您需要做进一步的工作来获取代码以理解文件的内容。 las,这更依赖于数据格式,因此实际上并没有通用的规则。
如果您使用的是 binary 文件,则可以改为:
b
但是二进制数据格式比文本数据格式相异得多,因此“下一个是什么?”更难概括。幸运的是,Tcl中的二进制数据并不难。除了open
中多余的@POST("orderNumber/order")
Single<Response<OBJECT>> requestOrderCard(@Body OrderRequest)
之外,二进制数据只是Tcl的另一个字符串,而Tcl的 good 字符串!