Lua os库

匿名 (未验证) 提交于 2019-12-03 00:18:01
os: os.clock os.date os.difftime os.execute os.exit os.getenv os.remove os.rename os.setlocale os.time os.tmpname

os.clock:

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

#!/usr/local/bin/lua  local x = os.clock() print(x) local n = 0  for i=1, 10000000 do      n = n+1 end  print("cpu clock  is %.6f\n", os.clock())

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

功能:返回一个按format格式化日期、时间的字串或表
若设置time参数,则按time指定的时间格式化,否则按当前时间格式化
参数:
format:
“!”:按格林尼治时间进行格式化。

若不带参数,则按当前系统的设置返回格式化的字符串 os.date() <=> os.date(“%c”)

%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)
%% 字符串’%’

#!/usr/local/bin/lua  print(os.date())  --Tue May 22 19:23:18 2018  t = os.date("*t", os.time()) for k , v in pairs(t) do  --不能使用ipairs(t)     print( k , v ) end   Tue May 22 19:23:18 2018 year    2018 month   5 sec 18 yday    142 min 23 hour    19 isdst   false day 22 wday    3 

os.difftime (t2, t1)

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

t1 = os.time()  for i=1 , 1000000000 do      n = n+1 end  t2 = os.time()  print("t1 diff t2 ", os.difftime(t1, t2))

os.execute ([command])

功能:相当于C的system函数,返回系统状态码
print(os.execute(“/bin/ls”))
print(os.execute(“/usr/bin/top”))

os.exit ([code])

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

os.getenv (varname)

功能:返回当前进程的环境变量varname的值,若变量没有定义时返回nil
print(os.getenv(“HOME_PATH”))

os.remove (filename)

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

os.rename (oldname, newname)

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

os.setlocale (locale [, category])

功能:设置程序的当前设置,函数返回最新的值,失败则返回nil
原型:os.setlocale (locale [, category])
解释:设置程序的当前区域,函数返回设置以后该项最新的值,如果失败则返回nil。
参数:两个参数均可省略,但具体含义不同。
locale:表示一个指定当前设置区域的字串,有几种特殊形式如下
“”:一个空字串,当前设置被视为本地设置
“C”:当前设置被视为标准C设置
nil:返回category指示设置名的当前值
category:一个描述要更改的设置名,实际上就是制定一个分类的名字,分类如下
all:默认选项,包含下述所用分类。
collate :影响C语言函数strcoll和strxfrm
ctype:影响字符处理函数和多行字符处理函数
monetary:影响C语言函数localeconv返回的货币格式化信息
numeric:影响格式化输入输出字符中的小数点符号
time:影响C语言函数strftime

print(os.setlocale(nil)) print(os.setlocale("eng"))

os.time ([table])

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

print(os.time()); -->1526989157 print(os.time({year=1999, month=1, day=10, hour=11})); -->915937200

os.tmpname()

功能:返回一个临时文件名,io操作之后需要删掉。

local tmp = os.tmpname()  --创建tmpfile print(tmp) --tmp = "."..tmp print(tmp)  local myfile = io.open(tmp, "w")  --打开tmpfile print(myfile) myfile:write("hello tmp file.")   --写入 myfile:close()                  --关闭tmpfile   local ff = io.open(tmp, "r") print(ff) local ret = ff:read("*all")     --读取 print(ret) ff:close()  print(os.remove(tmp))       --删除tmpfile
文章来源: Lua os库
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!