lua - 如何将标准输出重定向到 Lua 中的文件?

标签 lua stdout computercraft

我试图将 Lua (5.1) 中的 stdout 重定向到文件而不是控制台。

有一个第三方 API(我无法修改)包含一个打印出一组序列化数据的函数(我不知道哪个函数进行打印,假设某种打印())

这些数据太冗长,无法显示在我必须使用的屏幕上(无法滚动),因此我希望将函数的输出定向到文件而不是控制台。

我无法修补或操作 Lua 版本。

我的想法是使用记录不佳的 io.output() 文件将 stdout 更改为文件,但这似乎根本不起作用。

 io.output("foo")   -- creates file "foo", should set stdout to "foo"?
 print("testing. 1, 2, 3") -- should print into "foo", goes to console instead

有谁知道有什么方法可以强制将函数输出到文件中,或者强制所有标准输出到文件而不是控制台? TIA。

最佳答案

您需要使用 io.write方法而不是 print .它以类似的方式工作,但不使用选项卡分隔参数。 io.write尊重 io.output ,但是 print没有。

关于lua - 如何将标准输出重定向到 Lua 中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27008723/

相关文章:

lua - 如何将现有文件中的数据放入表中

map - 尝试索引一个 nil 值

c++ - 如何在 C++ 和 Lua 之间来回传递大型结构

node.js - 如何将缩略图/屏幕截图序列从 ffmpeg 传输到 nodejs 以进行进一步处理?

Python 使用 sys.stdout 打印尾随逗号行为

php - 网站链接保护

c - 如何在 lua_getfield 中使用方括号

在 Lua 中按字符拆分字符串

python - 使用 python 从进程中捕获输出的最佳方法是什么?