Tcl 在后台打开时打开 .csv
Tcl open a .csv while its open in background
我正在尝试使用 Tcl 打开一个 .csv
文件进行写入,同时该文件在后台打开以供读取。
$ tclsh test.tcl couldn't open "mydata.csv": permission denied
while executing "open "mydata.csv" a+"
invoked from within "set f [open "mydata.csv" a+]"
(file "test.tcl" line 1)
test.tcl
set f [open "mydata.csv" a+]
如果 mydata.csv 已打开,则代码失败 - 否则不会失败。
如何在实时观看正在写入的内容的同时打开 .csv
进行写入?
Tcl和其他语言没有区别。您可以打开任何文件进行读取,只要您有读取权限,但您只能监控文件内容只要它写入磁盘。使用读取命令检查其内容。
例如:
set fin [open "mydata.csv" a+]
set fout [open "mydata.csv" r]
read $fout # shows the file contents
puts -nonewline $fin "something"
read $fout # nothing to read
flush $fin
read $fout # reads "something"
因此您可以在后台启动循环以定期检查 $fout。
问题是双击 excel 以写入模式打开。为了能够检查 csv,请在 只读 模式下打开
。
我正在尝试使用 Tcl 打开一个 .csv
文件进行写入,同时该文件在后台打开以供读取。
$ tclsh test.tcl couldn't open "mydata.csv": permission denied
while executing "open "mydata.csv" a+"
invoked from within "set f [open "mydata.csv" a+]"
(file "test.tcl" line 1)
test.tcl
set f [open "mydata.csv" a+]
如果 mydata.csv 已打开,则代码失败 - 否则不会失败。
如何在实时观看正在写入的内容的同时打开 .csv
进行写入?
Tcl和其他语言没有区别。您可以打开任何文件进行读取,只要您有读取权限,但您只能监控文件内容只要它写入磁盘。使用读取命令检查其内容。
例如:
set fin [open "mydata.csv" a+]
set fout [open "mydata.csv" r]
read $fout # shows the file contents
puts -nonewline $fin "something"
read $fout # nothing to read
flush $fin
read $fout # reads "something"
因此您可以在后台启动循环以定期检查 $fout。
问题是双击 excel 以写入模式打开。为了能够检查 csv,请在 只读 模式下打开
。