Lua OS库整理

Lua OS库整理

os.clock()

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

local x = os.clock();
print("---begin----",os.clock())
local s = 0;
for i = 1, 100000000 do
     s = s + i;
end
print("---end----",os.clock())
print(string.format("程序用时 : %.2f\n", os.clock() - x));

在这里插入图片描述

os.date()

返回一个按format格式化日期、时间的字串或表

原型:os.date ([format [, time]])

若有第二个参数,用第二个参数的时间来算,如果format以“!”开头,则按格林尼治时间进行格式化,返回一个表

参数表示示例
%a一星期中天数的简写Wed
%A一星期中天数的全称Wednesday
%b月份的简写Sep
%B月份的全称September
%c日期和时间09/16/98 23:48:10
%d一个月中的第几天16 [0 ~ 31]
%H24小时制中的小时数23[00 ~ 23]
%I12小时制中的小时数11[01 ~ 12]
%j分钟数48[00 ~ 59]
%M月份数09[01 ~ 12]
%m“上午(am)” 或 “下午(pm)”pm
%P秒数10[00 ~ 59]
%S一星期中的第几天3[0 ~ 6 = 星期天 ~ 星期六]
%w一年中的第几个星期0 ~ 52
%W日期09/16/98
%x时间23:48:10
%y两位数的年份90[00 ~ 99]
%Y完整的年份2009
print("---begin----",os.date())
print("---24小时制中的小时数----",os.date("%H"))
print("---月份数----",os.date("%m"))
print("---一年中的第几天----",os.date("%j"))
print("---完整的年份----",os.date("%Y"))

在这里插入图片描述

os.time()

  • 原型:os.time ([table])
  • 解释:按table的内容返回一个时间值(数字),若不带参数则么使用当前时间作为table内容,
  • 其中table中可以包含的字段有:year(必填), month(必填), day(必填), hour, min, sec, isdst,其他字段将会被忽略。
  • 返回从1970年1月1日到指定时间的秒数
print("现在的时间 = "..os.time())
print("到北京奥运会的时间1 = "..os.time({year=2008,month=8,day=8,hour=20,min=0,sec=0}))
print("到北京奥运会的时间2 = "..os.time({year=2008,month=8,day=8}))     -- 不填默认为0
print("到起始的时间 = "..os.time({year=1970,month=1,day=1,hour=8,min=0,sec=0}))     -- 因为时区

在这里插入图片描述

os.difftime()

  • 计算一个时间到另一个时间之差。
  • 原型:os.difftime (t2, t1)
    -- 奥运会的时间
    local tab = {year=2008, month=8, day=8, hour=20}
    local pretime = os.time(tab)
    print(os.date("08 Olympic Games time is %x", pretime))

    -- 现在的时间
    local timetable = os.date("*t"); 
    local nowtime = os.time(timetable)
    print(os.date("now time is %c", nowtime))

    local difft = os.difftime(nowtime, pretime);

    print("from 08 Olympic Games to now cost time "..difft.."s");

在这里插入图片描述

os.execute()

  • 执行system指令
  • 原型:os.exit(code)
  • 参数:表示待执行命令的字符串
    该函数会返回3个返回值:
    返回值1:是一个布尔类型。返回true时表示程序运行成功
    返回值2:是一个字符串。当为"exit"时表示程序正常运行结束,当为"signal"时表示因信号而中断
    返回值3:是返回状态(若该程序正常终结)或者终结该程序的信号代码
os.execute("color 02");     --改变颜色
-- os.execute("copy " .."Os.lua".. ",".."Os.lua.bak")      --复制文件
os.execute("HELP");     -- 查看sys

在这里插入图片描述

os.exit()

原型:os.exit(code)

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

os.getenv()

查询系统信息的函数

原型:os.getenv (varname)

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

print("start test getenv() function:\n")
print(os.getenv("SystemRoot"))          -- 系统根目录
print(os.getenv("WoXiaXieDe"))          -- 我乱写的
print(os.getenv("ALLUSERSPROFILE"))     -- 所有“用户配置文件”的位置
print(os.getenv("alluserSpRoFilE"))     -- 所有“用户配置文件”的位置
print(os.getenv("COMPUTERNAME"))        -- 计算机的名称

print("\n")

print(os.getenv("COMSPEC"))             -- 命令行解释器可执行程序的准确路径
print(os.getenv("HOMEDRIVE"))           -- 连接到用户主目录的本地工作站驱动器号
print(os.getenv("HOMEPATH"))            -- 用户主目录的完整路径
print(os.getenv("NUMBER_OF_PROCESSORS"))-- 安装在计算机上的处理器的数目
print(os.getenv("OS"))                  -- 操作系统的名称

print("\n")

print(os.getenv("PROCESSOR_LEVEL"))     -- 计算机上安装的处理器的型号
print(os.getenv("PATHEXT"))             -- 连接到用户主目录的本地工作站驱动器号
print(os.getenv("PROCESSOR_REVISION"))  -- 处理器修订号的系统变量
print(os.getenv("TEMP"))                -- 临时目录
print(os.getenv("SYSTEMDRIVE"))         -- 系统根目录的驱动器

在这里插入图片描述

os.remove()

删除文件or空目录

原型:os.remove (filename)

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

返回: 1:true/nil 2:如果错误,错误信息

os.rename()

重命名文件or目录

附加:io.popen()函数

io.popen()函数也可以运行一条系统命令
详情请参阅:https://blog.csdn.net/qq_41453285/article/details/108089092
函数os.execute()和io.popen()非常依赖于操作系统,因为不同操作系统的命令不同
如果想要使用操作系统的其它扩展功能,最好的选择是使用第三方库,比如用于基本目录操作和文件属性操作的LuaFileSystem,或者提供了POSIX.1标准支持的luaposix库

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值