如何获取lua脚本文件的绝对路径

时间:2017-06-13 02:49:45

标签: lua

我有一个lua脚本A.lua,它通过指定package.path来调用B.lua。在B.lua中,它必须使用它的绝对路径。我的问题是,我怎样才能在B.lua中获得B.lua的绝对路径? “PWD”不起作用,因为PWD只返回当前的工作目录。 debug也不起作用,因为B.lua不是从命令行调用的。谁有更好的解决方案?

1 个答案:

答案 0 :(得分:1)

如果package.pathrequire能够找到某个文件,那么您也可以使用package.searchpath轻松获取路径。

如果"foo.bar.baz"require将加载文件的名称,那么

package.searchpath( "foo.bar.baz", package.path )
--> (e.g.) "/usr/share/lua/5.3/foo/bar/baz.lua"

让你走上正轨。

这适用于Lua 5.2或更新版本以及LuaJIT。