如何在lua中获取文件夹路径?

我阅读了 LuaFileSystem 的参考资料,但它似乎没有获取文件父文件夹的函数。而且我在Lua 5.1参考手册中搜索了“文件”或“目录”,但只有IO操作。我该怎么做呢?

我想到的丑陋的方法是在最后一个 '/' 或 '\' 之后截取字符串。就像 C:\\data\\file.text 切割为 C:\\data。但是我认为应该有更好的方法来做这件事。

点赞
用户1442917
用户1442917

你对于 LuaFileSystem 没有路径 / 名称操作函数的说法是正确的;它是一个库,"提供了一种可移植的方式来访问底层的目录结构和文件属性"。

我认为使用你描述的方法删除文件名是没有问题的。

2016-03-24 07:08:02
用户2239760
用户2239760

这个函数使用正则表达式可以完成工作:

path = "C:\\data\\file.text"

local function getParentPath(_path)
    pattern1 = "^(.+)//"
    pattern2 = "^(.+)\\"

    if (string.match(path,pattern1) == nil) then
        return string.match(path,pattern2)
    else
        return string.match(path,pattern1)
    end
end

print(getParentPath(path))
2016-03-24 13:48:19