Lua中的操作系统库

这个库通过表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 ([code])

功能:相当于C的exit函数,终止主程序,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

http://www.cnblogs.com/whiteyun/admin/file://rdev1/

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()

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