1

我正在使用 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 函数并将内容移动到更新函数中,但这不起作用,脚本停止将 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)正如迈克所说,我需要文件的完整路径

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
4

0 回答 0