LUA获取lua脚本所在的绝对路径

 path = debug.getinfo(1,'S').source:sub(2)--获取脚本所在的路径包括文件

只保留路径路径

 function script_path()
   local str = debug.getinfo(1, "S").source:sub(2)   
   return str:match("(.*[/ \\])")--删除后面的文件,只保留路径
 end
path=script_path().."script.lua"
package.path =path ..";..\\?.lua"
require "script"

当require失败后,可以尝试这种方法。
非windows下代码如下:

function script_path()
   local str = debug.getinfo(2, "S").source:sub(2)
   return str:match("(.*/)")
end
print(script_path())

发布日期:

所属分类: 编程语言 标签: