Lua - 尝试写入文件

时间:2018-01-12 14:39:10

标签: function file lua rainmeter

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

0 个答案:

没有答案