Lua io.write() 无法工作

我正在使用 luvit Lua 环境通过我的控制面板运行我的 lua 代码。我想要写入一个 .txt 文件,但是使用我运行的简单代码,它无法工作。

我想要写入一个 .txt 文件,是为了记录我正在 Discordia 库中开发的 Discord Bot 的通知。

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

io.output('log.txt')
io.write('hello\n')
io.close()

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

>luvit Desktop\mezzabot\write.lua

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

编辑: 我的新代码是以下内容

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

它不会为每一次都创建一个新的行。

编辑 B: 好吧,我找到了我的问题,它正在我的 C:\Users\PC 中创建一个 log.txt。另一个问题是在写入时,它不使用 \n 创建一个新行。有人能帮帮我吗?

点赞
用户4984564
用户4984564

Lua 默认以读取模式打开文件。如果你想要写入文件,需显式地以写入模式打开文件(参考手册)。

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

应该可以工作 :)

2018-07-20 19:35:10