首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在循环中写入文件名中添加数字?

如何在循环中写入文件名中添加数字?
EN

Stack Overflow用户
提问于 2016-05-26 14:03:58
回答 2查看 887关注 0票数 1

加速度记录在result.txt中,但我只想记录一个结果。

我想在result_1.txt和result_2.txt,result_3.txt中记录下一个结果

如何在1 txt文件中记录1结果?

这是我的密码。

代码语言:javascript
代码运行次数:0
运行
复制
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()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-26 14:49:34

要输出每个文件,需要不同的文件处理程序。

为了简单起见,假设文件名以result_1.txt开头

代码语言:javascript
代码运行次数:0
运行
复制
for i = 1, 1000 do
  local filename = "result_" + tostring(i) + ".txt"
  local file = io.open(filename, "a")
  -- write to file
  file:close()
end
票数 2
EN

Stack Overflow用户

发布于 2016-05-28 03:29:19

要将每个文件保存到不同的文件中,您需要分别打开和关闭每个文件。可以为您编写一个函数来完成此操作。

代码语言:javascript
代码运行次数:0
运行
复制
saveData = function ( data, path )
    local f = io.open(path, 'a')
    f:write(data)
    f:close()
end

然后你可以打电话

代码语言:javascript
代码运行次数:0
运行
复制
saveData(string.format("%d\n",p), 'results_1.txt')

现在,为了使它们都按升序排列,我们只需使用一个循环,并将数字与字符串连接起来。

代码语言:javascript
代码运行次数:0
运行
复制
for i = 1, 10, 1 do
     local path = 'results_'..i..'.txt'
     saveData(<insert data here>, path)
end

或者,我们可以将所有数据保存在一个表中。

代码语言:javascript
代码运行次数:0
运行
复制
data = { <insert data here>, ... }

然后将表中的所有数据保存到各自的文件中。

代码语言:javascript
代码运行次数:0
运行
复制
for i, v in ipairs(data) do
     local path = 'results_'..i..'.txt'
     saveData(v, path)
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37463156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档