Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lua脚本-收集数据并保存到文件中_Lua - Fatal编程技术网

Lua脚本-收集数据并保存到文件中

Lua脚本-收集数据并保存到文件中,lua,Lua,我正在编写lua脚本 我正在编码的是..收集数据并将其保存到特定的文件中 情境: 有两个传感器,当它们识别前面的物体时,传感器的值将增加。 我想随时间每隔100ms保存传感器值的数据。 时间格式为“2013-04-25 10:30:004” 我所做的就是在这里 =========================================================== require("TIMER") require("TIMESTAMP") require("ANALOG_IN")

我正在编写lua脚本

我正在编码的是..收集数据并将其保存到特定的文件中

情境:
有两个传感器,当它们识别前面的物体时,传感器的值将增加。
我想随时间每隔100ms保存传感器值的数据。
时间格式为“2013-04-25 10:30:004”

我所做的就是在这里

===========================================================

require("TIMER")
require("TIMESTAMP")
require("ANALOG_IN")

function OnExit()
    print("Exit code...do something")
end

function main()

    timer = "TIMER"
    analogsensor_1 = "AIR_1"
    analogsensor_2 = "AIR_2"

    while true do 
        valueOfSensor_1 = ANALOG_IN.readAnalogIn(analogsensor_1);
        valueOfSensor_2 = ANALOG_IN.readAnalogIn(analogsensor_2);

        write(colltection_of_data.txt)
        go(print(valueOfSensor_1), 0.1)     //print value of sensor every 100ms
        print(time)
        go(print(valueOfSensor_2), 0.1)
        print(time)
    end 
    TIMER.sleep(timer,500)

end 

print("start main")
main()

================================================================
我知道这不是完整的代码。如何将数据保存到某个文件中? 我怎样才能显示这样的时间格式呢


提前谢谢你

对不起,没有小数秒

-- Open file
local file = assert(io.open('collection_of_data.txt','wb'))

-- Write to file
local dt = os.date'*t'
local time_string = 
   dt.year..'-'..('0'..dt.month):sub(-2)..'-'..('0'..dt.day):sub(-2)..' '..
   ('0'..dt.hour):sub(-2)..':'..('0'..dt.min):sub(-2)..':'..('0'..dt.sec):sub(-2)
file:write(valueOfSensor_1, '\n', time_string, '\n')

-- Close file
file:close()

对不起,没有小数秒

-- Open file
local file = assert(io.open('collection_of_data.txt','wb'))

-- Write to file
local dt = os.date'*t'
local time_string = 
   dt.year..'-'..('0'..dt.month):sub(-2)..'-'..('0'..dt.day):sub(-2)..' '..
   ('0'..dt.hour):sub(-2)..':'..('0'..dt.min):sub(-2)..':'..('0'..dt.sec):sub(-2)
file:write(valueOfSensor_1, '\n', time_string, '\n')

-- Close file
file:close()

要获取您呼叫的日期和时间,请执行以下操作:

localtimestr=os.date(“%Y-%m-%d%H:%m:%S”)

现在要将其保存到文件中,您需要打开该文件

localfilehandle=io.open(文件名[,模式])
-

要输出所需的数据,请使用

local filehandle = io.open("Log.txt", "w+")
filehandle:write(timestr, " - Sensor1: ", tostring(valueOfSensor1), "\n")
当然,您只打开文件一次,然后每x(毫秒)秒发出一次写入命令。完成后:

filehandle:close()


请尽可能使用当地人。它比全局(
local analogSensor\u 1
而不仅仅是
analogSensor\u 1
)更快地获取您呼叫的日期和时间:

localtimestr=os.date(“%Y-%m-%d%H:%m:%S”)

现在要将其保存到文件中,您需要打开该文件

localfilehandle=io.open(文件名[,模式])
-

要输出所需的数据,请使用

local filehandle = io.open("Log.txt", "w+")
filehandle:write(timestr, " - Sensor1: ", tostring(valueOfSensor1), "\n")
当然,您只打开文件一次,然后每x(毫秒)秒发出一次写入命令。完成后:

filehandle:close()


请尽可能使用当地人。它比全局的(
local analogSensor_1
而不仅仅是
analogSensor_1
)要快得多。

对于小数秒,请参见@junghur,它意味着打开文件以写入二进制数据。请参阅@junghur,它是二进制模式下的写访问。请参阅我的答案中的手册链接。另外,格式化可以更容易地完成。我可以使用“本地时间tr=os.date(“%Y-%m-%d%H:%m:%S”)”而不是您的时间字符串吗?还有一个问题!!如果我说文件名为“collection_of_data.txt”并保存在系统(linux)中,这段代码是否会自动找到该文件并将其保存到文件中?小数秒请参见@junghur,它意味着打开文件以写入二进制数据。请参阅@junghur,它是二进制模式下的写访问。请参阅我的答案中的手册链接。另外,格式化可以更容易地完成。我可以使用“本地时间tr=os.date(“%Y-%m-%d%H:%m:%S”)”而不是您的时间字符串吗?还有一个问题!!如果我说出文件名“collection\u of_data.txt”并保存在系统(linux)中,这段代码会自动找到该文件并保存到文件中吗?@junghur这是打开文件的一般语法。例如,
io.open(“Test.txt”、“w+b”)
将以二进制模式打开具有写附加访问权限的Text.txt文件。请参阅我提供的手册链接。压缩日期格式!很遗憾,
%F%T
不起作用。还有一个问题!!如果我说出文件名“collection\u of_data.txt”并保存在系统(linux)中,这段代码会自动找到该文件并保存到文件中吗?@EgorSkriptunoff,是的,
%F
崩溃了我的lua解释器:)本地文件句柄=io.open(文件名[,模式])和本地文件句柄=io.open(“Log.txt”,“w+”)有什么区别?我需要这样写两次吗?@junghur这是打开文件的一般语法。例如,
io.open(“Test.txt”、“w+b”)
将以二进制模式打开具有写附加访问权限的Text.txt文件。请参阅我提供的手册链接。压缩日期格式!很遗憾,
%F%T
不起作用。还有一个问题!!如果我说出文件名“collection\u of_data.txt”并保存在系统(linux)中,这段代码会自动找到该文件并保存到文件中吗?@EgorSkriptunoff,是的,
%F
崩溃了我的lua解释器:)本地文件句柄=io.open(文件名[,模式])和本地文件句柄=io.open(“Log.txt”,“w+”)有什么区别?我需要这样写两遍吗?