【问题标题】:Attempt to index local 'file' (a nil value) at file:write尝试在 file:write 索引本地“文件”(一个 nil 值)
【发布时间】:2014-06-25 05:53:13
【问题描述】:

我对 lua 脚本非常陌生,我从 Lua 使用此脚本创建文本并将其写入文件开始:

A = "Hello"
local file = io.open ('test.txt',"w")
file:write(A)
file:close()

我得到了这个错误:

:3 尝试索引本地“文件”(零值)

这里有什么问题?

P/s:我正在使用 CHDK 在相机上运行这个 lua。

【问题讨论】:

    标签: lua


    【解决方案1】:

    如果无法打开文件,io.open 将返回 nil。您可以检索错误消息:

    A = "Hello"
    local file, err = io.open ('test.txt',"w")
    if file==nil then
        print("Couldn't open file: "..err)
    else
        file:write(A)
        file:close()
    end
    

    见:http://www.lua.org/pil/21.2.html

    【讨论】:

    • 谢谢,我运行了你的脚本,它说“无法打开文件:test.txt”,那么我现在需要做什么来创建文本并将其写入文件?
    • 你确定你应该能够在你的脚本运行的目录中创建那个文件吗?因为该代码应该可以正常工作。
    • 同意,这可能是权限问题。我认为您需要检查 CHDK 文档。如果您按照我发布的链接,它还显示了如何检索错误号,这取决于系统。希望您能够在 CHDK 文档中查找它。
    • @Etan Reisner 对,就是权限问题,解锁SD卡解决吧。
    猜你喜欢
    • 2016-05-09
    • 1970-01-01
    • 2019-10-10
    • 1970-01-01
    • 2010-11-19
    • 2020-05-20
    • 2016-12-21
    • 2023-01-08
    • 1970-01-01
    相关资源
    最近更新 更多