我正在使用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
我做错了什么?文件的压力.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