首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Get包含lua文件的路径

Get包含lua文件的路径
EN

Stack Overflow用户
提问于 2011-06-17 10:39:58
回答 8查看 37.3K关注 0票数 24

我想知道是否有一种方法可以获得当前执行的lua脚本文件的路径?

这特别不是当前的工作目录,它可能是完全不同的。我知道luafilesystem会让我得到当前的工作目录,但它似乎不能告诉我当前正在执行的脚本文件。

谢谢

编辑:我不是从标准的命令行解释器运行,而是通过luabind从C++二进制文件执行脚本。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-06-17 10:46:14

如果Lua脚本是由标准命令行解释器运行的,那么可以尝试使用arg[0]

票数 10
EN

Stack Overflow用户

发布于 2014-05-08 15:24:27

这是一种更优雅的方式:

代码语言:javascript
复制
function script_path()
   local str = debug.getinfo(2, "S").source:sub(2)
   return str:match("(.*/)")
end

print(script_path())
票数 23
EN

Stack Overflow用户

发布于 2011-06-17 10:47:46

正如lhf所说:

代码语言:javascript
复制
~ e$ echo "print(arg[0])" > test.lua
~ e$ lua test.lua
test.lua
~ e$ cd /
/ e$ lua ~/test.lua
/Users/e/test.lua
/ e$ 

下面是使用debug.getinfo机制的相同信息

代码语言:javascript
复制
~ e$ echo "function foo () print(debug.getinfo(1).source) end; foo()" > test.lua
~ e$ lua test.lua
@test.lua
~ e$ cd /
/ e$ lua ~/test.lua
@/Users/e/test.lua
/ e$ 

这可以从C应用编程接口lua_getinfo获得

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6380820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档