Lua需要读取我在同一个程序中刚刚写入的文件。

需要编写一些文件,然后打开它进行读取,并将一些行写入另一个文件 - 所有这些都在一个脚本中。

我的问题是:

  1. 以读模式打开file1(file1 = io.open("my_file.txt",“r”))

  2. 以写模式打开file2(file2 = io.open("my_changed_file.txt",“w”))

  3. 将从file1更改的内容写入file2

  4. 以读模式打开file2(也尝试打开为file3 = io.open("my_changed_file.txt",“r”)),并打印一些内容,例如:

我尝试了多种方式,如file2:flush(),或file2:close()并在完成写入后重新打开,但当我想要打印一些行时,它总是返回nil

``` file1 = io.open("my_file.txt",“r”) file2 = io.open("my_changed_file.txt",“w”)

for line in file1:lines() do $file2:write(line..“changes”) end

file2:flush() file3 = io.open("my_changed_file.txt",“r”) --将几行写入另一个文件等等 --(基于我的键,需要将从file2更改的车道和file1中的原始行合并)

点赞
用户1442917
用户1442917

我尝试了你的脚本,并对 Lua 5.1、5.2 和 5.3 进行了微小的更改,在所有那些版本中它都按预期工作。我的脚本如下,其中有一处可能很重要的更改:write 不像 print 那样添加新行,因此如果你希望输出在不同行上,可能需要手动添加:

local file1=io.open("my_file.txt","r")
local file2=io.open("my_changed_file.txt","w")
for line in file1:lines() do
   file2:write(line.."changes\n")
end
file2:close()
local file3=io.open("my_changed_file.txt","r")
print(file3)
for line in file3:lines() do print(line) end
2015-04-01 16:29:24