如何使用 Lua 编程语言检查文件是否存在?


Lua 为我们提供了不同的函数和方法,当我们想要处理文件时可以使用这些函数和方法。这些方法或函数执行不同的操作,例如从打开文件到关闭文件,以及以特定模式打开文件等。

虽然 Lua 提供了许多用于处理文件的函数,但其中两个在使用和操作方面较为微妙。

在本文中,我们将探讨这两种方法。第一种方法是简单地通过传递文件名和想要打开文件的模式来打开文件,然后打印文件是否存在。

需要注意的是,如果 Lua 找到了文件,则只会打印文件所在的地址,但如果未找到文件,则会打印 nil。

示例

请考虑以下示例:

print(io.open("sample.txt", "r"))

如果我们在与上述 Lua 文件相同的目录中存在一个名为“sample.txt”的文件,则终端将输出以下内容。

输出

file (0x22ac2b0)

如果我们在与上述 Lua 文件相同的目录中不存在名为“sample.txt”的文件,则终端将输出以下内容。

输出

nil sample.txt: No such file or directory2

编写此代码的更好方法是创建一个单独的函数来检查文件是否存在,并且在该函数中,我们还可以打开文件后关闭它,如果遇到文件则返回 true,否则返回 false。

示例

请考虑以下示例:

 在线演示

function file_exists(name)
   local f=io.open(name,"r")
   if f~=nil then io.close(f) return true else return false end
end
ans = file_exists("sample.txt")
print(ans)

输出

false

更新于: 2021年7月20日

3K+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告