错误:无法在Tcl中设置文件通道名称
我试图打开一个文件进行读取,在Tk文件打开对话框中请求用户输入,但遇到错误“错误:无法在Tcl中设置文件通道名称,tcl,tk,Tcl,Tk,我试图打开一个文件进行读取,在Tk文件打开对话框中请求用户输入,但遇到错误“无法打开名为的文件通道” 这是我的密码。 你能告诉我下面代码的问题吗 proc load_input_entries {} { global sa sd sb sc set types { {{Text Files} {.txt} } {{CSV Files} {.csv} } {{All Files} *
无法打开名为
的文件通道”
这是我的密码。
你能告诉我下面代码的问题吗
proc load_input_entries {} {
global sa sd sb sc
set types {
{{Text Files} {.txt} }
{{CSV Files} {.csv} }
{{All Files} * }
}
set fp [tk_getOpenFile -parent . \
-title "Select File" \
-filetypes $types -multiple true \
-initialdir "/simulation/safe/ip/work" ]
if {[file exists $fp]} {
set stuff [read $fp]
set lines [split $stuff "\n"]
set sa [lindex $lines 0]
set sb [lindex $lines 1]
set sc [lindex $lines 2]
set sd [lindex $lines 3]
}
}
tk_getOpenFile
提供文件名。您仍然必须打开该文件才能读取它。试一试
set filename [tk_getOpenFile ...
if {[file exists $filename]} {
set fp [open $filename]
...
如果遇到这样的问题,临时插入
put
命令查看变量的值通常很有用。如果您这样做了,您会看到它有一个文件名而不是一个文件句柄。tk_getOpenFile
为您提供了文件名。您仍然必须打开该文件才能读取它。试一试
set filename [tk_getOpenFile ...
if {[file exists $filename]} {
set fp [open $filename]
...
如果遇到这样的问题,临时插入put
命令查看变量的值通常很有用。如果您这样做了,您会看到它有一个文件名而不是一个文件句柄