无法通过tcl代码访问文件

时间:2014-01-28 14:01:24

标签: tcl

我在桌面上有一个文件test.txt,我想通过代码访问它并读取我在下面提到的代码中尝试的代码但是得到相同的错误无法打开文件没有这样的文件或目录存在。请看看我的代码:

set filename {C:\Users\E505135\Desktop\test.txt}
set fp [open $filename r]
set file_data [read $fp]
close $fp
set data [split $file_data ","]
foreach line $data {
puts "$line";
}  

仅供参考我在代码中尝试了正斜杠和反斜杠,但仍然出现相同的错误。

2 个答案:

答案 0 :(得分:0)

你的代码中没有任何明显的错误;它看起来绝对没问题。唯一真正的可能性是文件并不是你认为的那样。不幸的是,这是quite possible on Windows(我不是在实际发生这种情况的Windows部署中,所以我无法测试我的理论)。

最简单的方法可能是使用Tk的tk_getOpenFile来提供文件名来处理而不是硬编码。

答案 1 :(得分:0)

如果您在Windows上通过cygwin使用tclsh,则路径为/cygdrive/c/Users/E505135/Desktop/test.txt(区分大小写)。

我在Windows 7下的草莓和Fedora 18(带路径修改)中按原样(只是复制和粘贴)尝试了您的代码。两个都没事。