全局变量保存到文本文件中

我正在尝试循环遍历所有全局变量并将它们保存到文本文件中,但是我无法做到,因为io.write不会自动转换为字符串。只是试图找出我可以用最简单的方式实现这一点的方法。

for k,v in pairs(_G) do
    print("Global", k, "value", v)
    io.open("test.txt", "a")
    io.write("Global", k, "value", v, "\n")
end
点赞
用户5043289
用户5043289

io.open 函数打开一个文件并返回文件句柄。您可以使用该句柄进行写入。您只需打开文件一次,并在完成后关闭文件。代码应该像下面这样:

f = assert (io.open ("test.txt", "a"))  -- 打开文件

for k, v in pairs (_G) do
    f:write ("Global: ", tostring (k), " = value: ", tostring (v), "\n")
end

f:close () -- 完成文件操作

请注意,您的代码是将内容添加到现有文件中。如果不需要,请将 "a" 改为 "w"。

2016-02-06 21:44:19