lua脚本怎么获取当前正在执行的脚本的当前路径

lua脚本怎么获取当前正在执行的脚本的当前路径,第1张

时代在发展科技在进步,互联网已经不是什么神秘的领域,现在越来越多的年轻人对于互联网越来越熟悉,甚至有些开始学习Linux系统方面的知识,下面小猿圈Linux讲师就讲关于如何在Linux系统获取当前工作路,希望对你有所帮助。

获取工作路径这里介绍两种方法:

1、使用getcwd()函数

头文件:#include

定义函数:chargetcwd(charbuf,size_tsize);

函数说明:getcwd()会将当前的工作目录绝对路径复制到参数buf所指的内存空间,参数size为buf的空间大小。

实例:

voidgetPath()

{

charpPath[256]={0};

getcwd(buf,256);

printf("filePath:%s\n",pPath);

}

主函数调用此函数运行结果:

filePath:/home/myTest

2、使用readlink()函数

头文件:#include<unistdh>

函数定义:intreadlink(constcharpath,charbuf,size_tbufsiz);

函数说明:此函数会将参数path的符号连接内容到参数buf所指的内存空间,返回的内容不是以NULL作字符串结尾,但会将字符串的字符数返回。若参数bufsiz小于符号连接的内容长度,过长的内容会被截断。成功返回buf长度,失败返回-1。

实例:

voidgetPath()

{

charpPath[256]={0};

intret=-1;

ret=readlink("/proc/self/exe",pPath,256);

pPath[ret]="\0"

printf("thefilePath:%s\n",pPath);

}

intmain()

{

getPath();

}

运行结果:

thefilePath:/home/myTest/aout

小猿圈Linux讲师提醒大家:每天学习一点技术问题,只要功夫深,铁杵磨成针,学习不是一朝一夕的,是需要付出行动的,而且还要坚持,学习新的技术需要不断的查阅资料,看视频,复习,练习,如果你工作中或者生活中遇到什么问题,可以到小猿圈去寻找答案的,相信会给你满意的答复

假设有一个很多行文本的文件,你想从中读取一行,并打印到屏幕上。为此我们可以使用 ioopen() 命令打开文件并读取。

命令的语法是 ioopen(filename, mode)。此处将使用 r 作为 mode 的值,意指读取(read)模式。作为参考,下面是所有可用模式的列表:

引用:

r - 读取模式w - 写入模式(覆盖现有内容)

a - 附加模式(附加在现有内容之后)

b - 二进制模式

r+ - 读取更新模式(现有数据保留)

w+ - 写入更新模式(现有数据擦除)

a+ - 附加更新模式(现有数据保留,只在文件末尾附加)

第一件要做的事情就是打开文件并存为一个变量。看下面。

代码:

file = ioopen("testReadtxt", "r")

n - 读取一个数字并返回它。例:fileread("n")

a - 从当前位置读取整个文件。例:fileread("a")

l - (默认) - 读取下一行,在文件尾 (EOF) 处返回 nil。例:fileread("l")

number - 返回一个指定字符个数的字符串,或在 EOF 时返回 nil。例:fileread(5)

你可参考如下代码:

local lines={}

local i=0

local f=ioopen(filename,'r')

local s=''

repeat

s=f:read('l')

if s~=nil then

i=i+1

lines[i]=s

end

until s==nil

ioclose(f)

local num=i

fn_flag = stringfind(filename, "\\")if fn_flag thendest_filename = stringmatch(filename, "+\\([^\\]%%w+)$")endfn_flag = stringfind(filename, "/")if fn_flag thendest_filename = stringmatch(filename, "+/([^/]%%w+)$")end更多详见 >

试试下面的代码:

f=ioopen("var/touchelf/res/qqqtxt","r")

repeat

w=f:read('l')

if w~=nil then print(w) end

until w==nil

ioclose(f)

如果在Windows下(Linux行不行不知道)\x0d\obj=iopopen("cd") --如果不在交互模式下,前面可以添加local \x0d\path=obj:read("all"):sub(1,-2) --path存放当前路径\x0d\obj:close() --关掉句柄\x0d\上述原理是利用Windows的cd命令返回工作目录;至于sub(1,-2)是为了去掉换行符\x0d\当然如果你有lua socks或者你有lfs(注意匹配你的Lua版本),你可以使用lfs(Lua File System)\x0d\require("lfs")\x0d\path=lfscurrentdir()\x0d\这个则是Lua文件系统库中的函数。\x0d\就是这样

以上就是关于lua脚本怎么获取当前正在执行的脚本的当前路径全部的内容,包括:lua脚本怎么获取当前正在执行的脚本的当前路径、Lua 怎么读取文件中的某行数值、lua语言读取输出TXT文档等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10076230.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存