1. 程式人生 > >在LUA中獲取各種路徑.

在LUA中獲取各種路徑.

1、獲取當前路徑。

可以使用C語言大法。也可以使用 os庫呼叫 cd命令。

static int fmt_fs_cwd(lua_State * L)
{
	char path[1024];
	if(NULL == getcwd(path, 1023))
		lua_pushinteger(L, errno);
	else
		lua_pushstring(L, path);
	return 1;
}


獲取當前執行指令碼的檔名以及所在路徑,這個需要藉助 debug庫了。

function dirname(str)
	if str:match(".-/.-") then
		local name = string.gsub(str, "(.*/)(.+)", "%1")
		return name
	elseif str:match(".-\\.-") then
		local name = string.gsub(str, "(.*\\)(.+)", "%1")
		return name
	else
		return ''
	end
end

--- 當前檔名
local __FILE__ = debug.getinfo(1,'S').source:sub(2)