我正在尝试将Lua(5.1)中的stdout重定向到文件而不是控制台.
有一个第三方API(我无法修改)包含一个打印出序列化数据集的函数(我不知道打印哪个函数,假设某种print())
这个数据太冗长,不适合我必须使用的屏幕(无法滚动),所以我希望将函数的输出定向到文件而不是控制台.
我没有能力修补或操纵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方法而不是打印.它以类似的方式工作,但不使用制表符分隔参数. io.write尊重io.output,但打印不尊重.