Lua资料之标准库

博客介绍了Lua库,其库是含函数成员的表,起到名字空间作用。重点讲述了Lua内置标准库中的io库,它包含操作文件的函数,在OpenResty里应少用。还介绍了io库中open、popen、tmpfile等函数的功能和使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Lua 的库实际上就是包含了函数成员的表,这里表起到了名字空间的作用。

◆ 内置标准库:

Lua 内置的标准库很小,只提供基本的功能,主要有:

base:最核心的函数:
package:管理Lua 的模块;
string:字符串相关函数,如取子串、格式化、大小写转换等;
table:表相关函数,如插入删除元素、排序等;
math:数学计算相关函数,如三角函数、平方根等:
io:文件相关函数,如打开、关闭、读写文件,注意是阻塞的;
OS:操作系统相关函数:
debug:调试用的函数

◆ io库:

io 库里是操作文件的函数,由于文件通常存储在磁盘上,而且是阻塞操作,速度很慢,在OpenResty 里应当尽量少用。

1、io.open(filename,mode):

以” r ”、” w ” 等模式打开文件,然后返回一个文件对象,可以用“:”调用read 和write方法来读写文件内容,最后用close方法关闭文件。

在读取数据时,可以使用参数“*a” (即all)读取整个文件,或者“*l”(即line)读取一行,使用数字则读取指定长度的字节。

local f = io:open("xxx","r")  -- 以只读模式打开一个文件
print(f:read("*l"))           --读取文件里的一行
print(f:read(20))             -- 读取20个字节
f: close()                    -- 关闭文件

2、io.popen(prog,mode):

即“ pipe open ”,使用操作系统执行prog 命令,并打开管道,可以从里面读出命令执行结果或者向管道写入数据,功能上很类似as.execute ,但好处是可以利用管道操作简单地访问数据。

local f = io.popen("ps -ef | grep nginx | wc -l")
print(f:read())
f:close

3、io.tmpfile():

创建一个临时文件,返回可操作的文件对象,临时文件会在程序结束后自动删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值