Tcl 为什么无法简单地读取特定的文件吗
问题描述
下面的两行代码在使用wish.exe时没有返回任何结果,也没有抛出错误。我已经尝试过在tcl 8.4和8.6版本中运行,但使用node成功读取了该文件。
set fp [open "test.lst" r];
set file_data [read $fp];
尝试粘贴文件内容时,内存不足,因此这里是一个下载链接以测试.lst文件
https://nextcloud.wardbenn.com/s/znE32yTTaGjm5wL
fconfigure -translation binary -buffersize 10000000;
也失败了
解决方案
在交互式运行命令时,tclsh和wish会打印每个命令的结果。对一个91MB文件执行 read
命令会产生大量输出,这可能会导致显示变得非常缓慢。为了阻止打印命令的结果,可以在命令之后加上一个分号和一个产生非常少输出的第二个命令。然后,这个输出将被打印出来:
% set fp [open "test.lst" r]
file6
% set file_data [read fp];list
% string lengthfile_data
95513423