我正在使用 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