当前位置: 首页 > 编程笔记 >

Lua中os库详细介绍

轩辕远
2023-03-14
本文向大家介绍Lua中os库详细介绍,包括了Lua中os库详细介绍的使用技巧和注意事项,需要的朋友参考一下

这个库通过表os实现

os.clock ()

功能:返回一个程序使用CPU时间的一个近似值

例如:


local x = os.clock();

print(os.clock())

local s = 0;

for i = 1, 100000000 do

      s = s + i;

end

print(string.format("elapsed time : %.2f\n", os.clock() - x));


输出:

0

elapsed time : 2.55


os.date ([format [, time]])

功能:返回一个按format格式化日期、时间的字串或表
若设置time参数,则按time指定的时间格式化,否则按当前时间格式化
参数:
  format:
         "!":按格林尼治时间进行格式化。
      "*t":将返一个带year(4位),month(1-12), day (1--31), hour (0-23), min (0-59), sec (0-61), wday (星期几, 星期天为1), yday (年内天数), and isdst (是否为日光节约时间true/false)的带键名的表; 若没有"*t"则返回一个按C的strftime函数格式化的字符串
  若不带参数,则按当前系统的设置返回格式化的字符串 os.date() <=> os.date("%c")
 
例如:


t = os.date("*t", os.time());

for i, v in pairs(t) do

      print(i, v);

end


输出:

hour  14

min   58

wday  2

day   10

month  8

year  2009

sec   18

yday  222

isdst  false


对于其它的格式字符串,os.date会将日期格式化为一个字符串

例如:


print(os.date("today is %A, in %B"))      -->today is Tuesday, in May

print(os.date("%x", 906000490))           -->09/16/1998


所有格式化字符串如下:
  

%a      一星期中天数的简写                      (Wed)

%A      一星期中天数的全称                      (Wednesday)

%b      月份的简写                                  (Sep)

%B      月份的全称                                  (September)

%c      日期和时间                                   (09/16/98 23:48:10)

%d      一个月中的第几天                          (16)[0 ~ 31]

%H      24小时制中的小时数                      (23)[00 ~ 23]

%I      12小时制中的小时数                       (11)[01 ~ 12]

%j      一年中的第几天                             (259)[01 ~ 366]

%M      分钟数                                       (48)[00 ~ 59]

%m      月份数                                       (09)[01 ~ 12]     

%P      "上午(am)" 或 "下午(pm)"               (pm)

%S      秒数                                          (10)[00 ~ 59]

%w      一星期中的第几天                         (3)[0 ~ 6 = 星期天 ~ 星期六]

 %W  一年中的第几个星期        0 ~ 52 %x      日期                                          (09/16/98) %X      时间                                          (23:48:10) %y      两位数的年份                               (90)[00 ~ 99] %Y      完整的年份                                 (2009) %%      字符串'%'

os.difftime (t2, t1)

功能:返回t1到t2相差的秒数

例如:


t1 = os.time();

for i = 0, 10000000 do

 os.time();

end

t2 = os.time();

print(os.difftime(t2, t1));

输出:

2

os.execute ([command])

功能:相当于C的system函数,返回系统状态码

例如:


os.execute("pause")


输出:

按任意键继续. . .

os.exit (

)

功能:相当于C的exit函数,终止主程序,code为返回值

例如: [code] os.exit(1)


os.getenv (varname)-

功能:返回当前进程的环境变量varname的值,若变量没有定义时返回nil

例如:


print(os.getenv("USERDOMAIN"))

print(os.getenv("SystemRoot"))

print(os.getenv("Os2LibPath"))

print(os.getenv("ProgramFiles" ))

print(os.getenv("APPDATA" ))

print(os.getenv("ALLUSERSPROFILE" ))

print(os.getenv("CommonProgramFiles" ))

print(os.getenv("COMPUTERNAME" ))

print(os.getenv("USERNAME"))

print(os.getenv("USERPROFILE" ))

print(os.getenv("ComSpec"))

print(os.getenv("LOGONSERVER" ))

print(os.getenv("NUMBER_OF_PROCESSORS" ))

print(os.getenv("OS"))

print(os.getenv("PATHEXT" ))

print(os.getenv("PROCESSOR_ARCHITECTURE" ))

print(os.getenv("PROCESSOR_IDENTIFIER" ))

print(os.getenv("PROCESSOR_LEVEL" ))

print(os.getenv("PROCESSOR_REVISION" ))

print(os.getenv("USERDOMAIN"))

print(os.getenv("SystemRoot" ))

print(os.getenv("TEMP"))


输出:

RDEV

C:\WINDOWS

nil

C:\Program Files

C:\Documents and Settings\baiyun\Application Data

C:\Documents and Settings\All Users

C:\Program Files\Common Files

BAIYUN

baiyun

C:\Documents and Settings\baiyun

C:\WINDOWS\system32\cmd.exe

2

Windows_NT

.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.py;.pyw;.wlua

x86

x86 Family 15 Model 6 Stepping 5, GenuineIntel

15

0605

RDEV

C:\WINDOWS

C:\DOCUME~1\baiyun\LOCALS~1\Temp

os.remove (filename)

功能:删除文件或一个空目录,若函数调用失败则返加nil加错误信息

os.rename (oldname, newname)

功能:更改一个文件或目录名,若函数调用失败则返加nil加错误信息

os.setlocale (locale [, category])

功能:设置程序的当前设置,函数返回最新的值,失败则返回nil
参数:
  locale:一个指定当前设置的字串
      "":一个空字串,当前设置被视为本地设置
     "c":当前设置被视为标准c设置
      nil:返回category指示设置名的当前值
  category:一个描述要更改的设置名
         "all"[默认], "collate", "ctype", "monetary", "numeric", "time"

os.time ([table])

功能:按table的内容返回一个时间值(数字),若不带参数则返回当前时间table的字段:


  year, month, day, hour, min, sec, isdst


例如:

print(os.time());

-->1249887340

print(os.time({year=1970, month=1, day=1, hour=0}));

-->10500

os.tmpname()

功能:返回一个临时文件名

 类似资料:
  • 本文向大家介绍Lua中的基本数据类型详细介绍,包括了Lua中的基本数据类型详细介绍的使用技巧和注意事项,需要的朋友参考一下 基础介绍 Lua是一种动态类型的语言。在语言中没有类型定义的语法,每个值都带有其自身的类型信息。在Lua中有8中基本类型,分别是: 1.nil(空)类型 2.boolean(布尔)类型 3.number(数字)类型 4.string(字符串)类型 5.userdata(自定义

  • 主要内容:Redis Lua脚本的引入,开源软件的可扩展性,Redis的扩展性脚本,Redis Lua脚本的基本使用,通过EVAL命令执行Lua脚本,通过脚本与Redis交互,Java中调用Redis Lua脚本,Java调用Lua脚本的方式,Redis Lua脚本的使用建议,脚本缓存,脚本缓存稳定性,脚本参数化,脚本超时处理,Redis集群中Lua脚本的使用,其他限制,Redis 7 Functions,,,Redis Lua脚本的详细介绍以及使用入门。 本次的主要分享主题是:Redis Lu

  • 本文向大家介绍Android中AsyncTask详细介绍,包括了Android中AsyncTask详细介绍的使用技巧和注意事项,需要的朋友参考一下 AsyncTask是一个很常用的API,尤其异步处理数据并将数据应用到视图的操作场合。其实AsyncTask并不是那么好,甚至有些糟糕。本文我会讲AsyncTask会引起哪些问题,如何修复这些问题,并且关于AsyncTask的一些替代方案。 Async

  • 本文向大家介绍maven中pom.xml详细介绍,包括了maven中pom.xml详细介绍的使用技巧和注意事项,需要的朋友参考一下 POM 代表工程对象模型。它是使用 Maven 工作时的基本组建,是一个 xml 文件。它被放在工程根目录下,文件命名为 pom.xml。 POM 包含了关于工程和各种配置细节的信息,Maven 使用这些信息构建工程。 POM 也包含了目标和插件。当执行一个任务或者目

  • 本文向大家介绍python中使用mysql数据库详细介绍,包括了python中使用mysql数据库详细介绍的使用技巧和注意事项,需要的朋友参考一下 一、安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可。 Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的linux 仓库中都会有mysql ,我们只需要通过一

  • 本文向大家介绍PHP中的Streams详细介绍,包括了PHP中的Streams详细介绍的使用技巧和注意事项,需要的朋友参考一下 Streams 是PHP提供的一个强有力的工具,我们常常在不经意会使用到它,如果善加利用将大大提高PHP的生产力。 驾驭Streams的强大力量后,应用程序将提升到一个新的高度。 下面是PHP手册中对Streams的一段描述: 每个Streams对象都有一个包装类,在包装