有没有办法让 Tcl 解释器获取文件和从 shell 命令打开管道并行?
更详细地说,我有一个用 tcl/tk 构建的 GUI。我希望我的 tcl 脚本为 GUI 变量获取设置文件,同时从 [tclsh 设置文件] 打开管道以将输出重定向到我的 GUI 标准输出。
非常感谢!
最佳答案
我不相信在子进程中运行设置命令的处理是一个好主意。也许是safe interpreter会更好吗?
重新捕获输出,您可以 pick a technique for doing stdout capture然后在 GUI 中显示捕获的缓冲区的内容(如果您使用我的解决方案来解决该问题,则在使用 encoding convertfrom
取回字符后),但您遇到了一个普遍问题,即用户代码可能会如果需要很长时间才能运行,则将其阻塞。您可以通过使用线程来解决这个问题,但我怀疑避免复杂性并让编写糟糕的设置代码导致用户必须修复的问题更容易。 (catch
命令可以帮助您从获取设置文件期间的任何彻底错误中恢复。)
关于tcl - 如何使 Tcl 解释器获取文件并同时从 shell 命令打开管道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14581831/