小编log*_*gen的帖子

在lua中实时读取控制台输出

如何在脚本运行时定期读取脚本的输出?

对于 youtube-dl,它将有关正在下载的视频的下载信息(进度/速度/eta)发送到终端。

使用以下代码,我能够将脚本输出(在 Linux 上)的总结果捕获到临时文件中:

tmpFile = io.open("/tmp/My_Temp.tmp", "w+")
f = io.popen("youtube-dl http://www.youtube.com/watch?v=UIqwUx_0gJI", 'r')

tmpFile:write(f:read("*all"))
Run Code Online (Sandbox Code Playgroud)

我希望能够捕获 youtube-dl 发送到终端的最新信息的“快照”,而不是等待脚本完成并在最后写入所有数据。

我的总体目标是捕获下载信息,以便使用 Iup 设计进度条。

如果有更智能的方法来捕获下载信息,我也很乐意接受建议。

无论如何,如果可以以这种方式使用 io.popen()、os.execute() 或其他工具,我仍然想知道如何捕获实时控制台输出。

io console lua iup

5
推荐指数
1
解决办法
4211
查看次数

标签 统计

console ×1

io ×1

iup ×1

lua ×1