如果我有此代码

local f = io.open("../web/", "r")
print(io.type(f))

-- output: file

我怎么知道f是否指向目录?

最佳答案

Lua的默认库无法确定这一点。

但是,您可以使用第三方LuaFileSystem库来访问更高级的文件系统交互。它也是跨平台的。

LuaFileSystem提供了lfs.attributes,可用于查询文件模式:

require "lfs"
function is_dir(path)
    -- lfs.attributes will error on a filename ending in '/'
    return path:sub(-1) == "/" or lfs.attributes(path, "mode") == "directory"
end

10-08 15:35
查看更多