用lua获取当前脚本的路径
原理是:使用命令提示符的’cd‘命令获取当前的路径,然后写入一个tmp文件(cd.tmp)中,用lua来读取这个文件,最后删除
function currDir()
os.execute("cd > cd.tmp")
local f = io.open("cd.tmp", r)
local cwd = f:read("*a")
f:close()
os.remove("cd.tmp")
return cwd
end
这个函数的缺点是,本身的字符串附带了换行符(即使看不见), 所以使用string.sub(s,i,j)来分隔一下,原理是:无论路径有多长,最后两个字符是’ ',所以只需用从最后一位算起,提取从-2到1位置的字符即刻,即:
string.sub(str, 1, -2)
这样,就可以随意的链接本路径下的文件件了:
function currDir()
os.execute("cd > cd.tmp")
local f = io.open("cd.tmp", r)
local cwd = f:read("*a")
f:close()
os.remove("cd.tmp")
return cwd
end
str = currDir()
print (string.sub(str, 1, -2) .. 'aa.txt')
博客介绍了用Lua获取当前脚本路径的方法,通过命令提示符的‘cd’命令获取当前路径并写入tmp文件,再用Lua读取该文件,最后删除。还提到因字符串附带换行符,使用string.sub分隔,处理后可链接本路径下文件。
5864

被折叠的 条评论
为什么被折叠?



