教程 > Lua 教程 > Lua 类库 阅读:41

Lua 操作系统相关类库

在任何应用程序中,通常都需要访问操作系统级别的功能,并且可以使用操作系统库。 下表列出了可用的功能列表。

序号 类库/方法 描述
1 os.clock () 返回程序使用的 CPU 时间的近似值(以秒为单位)。
2 os.date ([format [, time]]) 返回一个字符串或包含日期和时间的表格,根据给定的字符串格式格式化。
3 os.difftime (t2, t1) 返回从时间 t1 到时间 t2 的秒数。 在 POSIX、Windows 和其他一些系统中,这个值正好是 t2-t1。
4 os.execute ([command]) 该函数等效于ANSI C 函数系统。 它传递要由操作系统外壳执行的命令。 如果命令成功终止,它的第一个结果为真,否则为 nil。
5 os.exit ([code [, close]) 调用 ANSI C 函数出口以终止宿主程序。 如果code为真,返回状态为EXIT_SUCCESS; 如果 code 为 false,则返回状态为 EXIT_FAILURE; 如果 code 是一个数字,返回的状态就是这个数字。
6 os.getenv (varname) 返回进程环境变量 varname 的值,如果未定义变量,则返回 nil。
7 os.remove (filename) 删除具有给定名称的文件(或 POSIX 系统上的空目录)。 如果此函数失败,则返回 nil,以及描述错误的字符串和错误代码。
8 os.rename (oldname, newname) 将名为 oldname 的文件或目录重命名为 newname。 如果此函数失败,则返回 nil,以及描述错误的字符串和错误代码。
9 os.setlocale (locale [, category]) 设置程序的当前语言环境。 locale 是一个与系统相关的字符串,用于指定语言环境; category 是一个可选字符串,描述要更改的类别:“all”、“collate”、“ctype”、“monetary”、“numeric”或“time”; 默认类别为“全部”。 该函数返回新语言环境的名称,如果请求不能被接受,则返回 nil。
10 os.time ([table]) 返回不带参数调用时的当前时间,或表示给定表指定的日期和时间的时间。 此表必须有字段年、月和日,并且可能有字段小时(默认为 12)、分钟(默认为 0)、秒(默认为 0)和 isdst(默认为无)。 有关这些字段的说明,请参阅 os.date 函数。
11 os.tmpname () 返回带有可用于临时文件的文件名的字符串。 该文件必须在使用前显式打开,并在不再需要时显式删除。

Lua 常用OS函数

下面显示了一个使用常用 OS 函数的简单示例。

-- 日期格式
io.write("The date is ", os.date("%m/%d/%Y"),"\n")

-- 日期和时间
io.write("The date and time is ", os.date(),"\n")

-- Time
io.write("The OS time is ", os.time(),"\n")

-- 等待一段时间
for i=1,1000000 do
end

-- Lua 启动以来的时间
io.write("Lua started before ", os.clock(),"\n")

运行示例

上述代码运行结果如下所示

The date is 07/09/2022
The date and time is Sat Jul  9 15:47:16 2022
The OS time is 1657381636
Lua started before 0.00442

上面的例子只是一些常见的例子,我们可以根据自己的需要使用 OS 库,所以尽量使用所有的函数来熟悉一下。 有一些功能,如删除有助于删除文件,执行帮助我们执行操作系统命令,如上所述。

查看笔记

扫码一下
查看教程更方便