Lua io.write() not working



我使用luvit-Lua环境通过控制面板运行我的Lua代码。我想写一个.txt文件,但用我正在运行的简单代码,它不起作用。

我之所以希望写入.txt文件,是为了在Discordia库中记录我正在使用的Discord Bot的通知。

我有一个叫MezzaBOT的文件夹。在这个文件中,我有一个write.lua文件和一个log.txt文件。我的write.lua文件中有这样一个简单的代码:

io.output('log.txt')
io.write('hellon')
io.close()

然后我在我的命令提示符中运行Luvit环境:

>luvit Desktopmezzabotwrite.lua

我没有得到任何错误,但log.txt文件仍然是空的。我的代码中是否缺少一行,或者我需要以不同的方式访问log.txt?

编辑:我的新代码是以下

file = io.open('log.txt')
file:write('hello', 'n')
file:close()

并且它不是每次都用生成一条新行

编辑B:

好的,我发现了我的问题,它在我的C:\Users\PC中创建了一个log.txt。另一个问题是,在写作时,没有用n换行。有人能帮帮我吗?

默认情况下,

Lua以read模式打开文件。如果你想写入文件,你需要在write模式下显式打开文件(请参阅手册(

file = io.open('log.txt', 'w')
file:write('hello', 'n')
file:close()

应该工作:(