加速度记录在result.txt中,但我只想记录一个结果。
我想在result_1.txt和result_2.txt,result_3.txt中记录下一个结果
如何在1 txt文件中记录1结果?
这是我的密码。
local filename = "result.txt"
local file = io.open(filename, "a")
for i=1, 1000 do
sim:stepForward()
local p = ship.rb:getAcceleration():z()
file:write(string.format("%d\n",p))
end
file:close()
发布于 2016-05-26 06:49:34
要输出每个文件,需要不同的文件处理程序。
为了简单起见,假设文件名以result_1.txt
开头
for i = 1, 1000 do
local filename = "result_" + tostring(i) + ".txt"
local file = io.open(filename, "a")
-- write to file
file:close()
end
发布于 2016-05-27 19:29:19
要将每个文件保存到不同的文件中,您需要分别打开和关闭每个文件。可以为您编写一个函数来完成此操作。
saveData = function ( data, path )
local f = io.open(path, 'a')
f:write(data)
f:close()
end
然后你可以打电话
saveData(string.format("%d\n",p), 'results_1.txt')
现在,为了使它们都按升序排列,我们只需使用一个循环,并将数字与字符串连接起来。
for i = 1, 10, 1 do
local path = 'results_'..i..'.txt'
saveData(<insert data here>, path)
end
或者,我们可以将所有数据保存在一个表中。
data = { <insert data here>, ... }
然后将表中的所有数据保存到各自的文件中。
for i, v in ipairs(data) do
local path = 'results_'..i..'.txt'
saveData(v, path)
end
https://stackoverflow.com/questions/37463156
复制