操作系统库(os)

操作系统库定义在table os中,其中包含了文件操作函数、获取当前日期和时间的函数。以及其他一些与操作系统相关的功能。

1、文件操作函数

os.remove (filename)

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

os.rename (oldname, newname)

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

2、日期和时间

Lua中,函数timedate提供了所有的日期和时间功能。

如果不带任何参数调用time函数,它会以数字(这个数字表示从某一时刻至今的秒数)形式返回当前的日期和时间,如果用一个table作为一个参数调用它,它会返回一个数字,表示该table中所描述的日期和时间。

print(os.time());

 -->1249887340

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

 -->10500

3os.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

4os.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"则返回一个按Cstrftime函数格式化的字符串

   若不带参数,则按当前系统的设置返回格式化的字符串 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

 %%      字符串'%'

 

5os.difftime (t2, t1)

功能:返回t1t2相差的秒数

例如:

 t1 = os.time();

 for i = 0, 10000000 do

  os.time();

 end

 t2 = os.time();

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

输出:

2

6os.execute ([command])

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

例如:

    os.execute("pause")

输出:

按任意键继续. . .

7os.exit ()

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

例如:

 [code]

 os.exit(1)

8os.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

9os.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

10os.tmpname()

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值