Lua - 尝试写入文件

我正在使用Rainmeter将气压值传递到一个Lua脚本中,然后将其写入文本文件并存储最后的 x 个值以供稍后检索,以生成随时间变化的气压变化直方图。

首先,我只是尝试将一个字符串写入文件作为测试,但我失败了,在这个过程中感到非常愚蠢。

我的脚本有一个Update函数,我从Rainmeter传递和返回压力值,然后是另一个名为writetofile的函数,在其中我尝试打开,写入,然后关闭文本文件。正是在这一点上我遇到了问题。

我的脚本如下:

function Initialize()
end -- function Initialize

function Update()
    sMyPressure = SELF:GetOption('CurrentPressure')
    return sMyPressure
end -- function Update

function writetofile()
    file = io.open("pressures.txt", "w")
    file:write("Hello World")
    file:close()
end

** 编辑 **

我尝试删除writetofile函数并将内容移动到update函数中,但这没有起作用,并且脚本停止将sMyPressure传回Rainmeter脚本,也没有写入文本文件。

例如:

function Initialize()
end -- function Initialize

function Update()
    sMyPressure = SELF:GetOption('CurrentPressure')
    return sMyPressure
    file = io.open("pressures.txt", "w")
    file:write("Hello World")
    file:close()
end -- function Update

我在做什么错了? pressures.txt文件存在并且可写,如果我删除它,则不会创建它。

有人能帮忙吗?

谢谢。

** 编辑 **

搞定了。

1)我不能在Update中调用函数

2)正如Mike所说,我需要文件的完整路径

3)此路径需要双反斜杠\

如果有人感兴趣或遇到同样的问题,这是工作代码:

function Initialize()
end -- function Initialize

function Update()
    sMyPressure = SELF:GetOption('CurrentPressure')
    writetofile(sMyPressure)
    return sMyPressure
end -- function Update

function writetofile(CurrentPressure)
    file = io.open("C:\\Users\\Hedley\\Documents\\Rainmeter\\Skins\\SimplyNova\\Wunderground\\pressures.txt", "a")
    -- file:write("hello","\n")
    file:write(CurrentPressure,"\n")
    file:close()
end
点赞