在TCL代码中-如何读取Windows文本文件?

时间:2018-09-04 11:48:28

标签: powershell tcl newline

如何在TCL中读取文本文件(Windows)?
我编写了一些PowerShell代码,该代码生成具有多个值的文本文件。生成的值用作进一步处理的输入数据。

我需要使用TCL读取内容的逻辑。
我怎样才能做到这一点?

1 个答案:

答案 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到文件的全部内容,然后\nclose(换行符)得到大字符串,得到文件中所有行内容的列表。最后,我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 字符串!