tcl - 如何使 Tcl 解释器获取文件并同时从 shell 命令打开管道?

标签 tcl tk-toolkit

有没有办法让 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/

相关文章:

perl - 限制滚动条长度

scope - Tcl:如何从不同的命名空间调用 proc,同时从它的命名空间传递一个变量给我的 proc?

variables - TCL regsub 到变量?

linux - 声音在 tcl/tk 中只播放一次(snack、pulseaudio、Linux)

c - bool 值中的 p 字母代表什么?

arguments - 为什么 Tcl 允许过程名称带空格,但参数不允许带空格?

Tcl/Tk 绑定(bind)需要全局变量?

python - tkinter:标记任意小部件以进行检索的最佳方法

python - ttk.Widget.state() TclError : Invalid state name

lisp - 我如何让 Ltk 显示用户正在写的内容以及函数打印的内容?