zoukankan      html  css  js  c++  java
  • 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()
    功能:返回一个临时文件名

  • 相关阅读:
    原型,构造函数,实例,__proto__
    To me
    那么再会吧!OI!(HNOI2019退役记)
    中山纪念中学培训杂题(难的都不在这里面qwq)
    关于菜鸡我
    树链剖分讲解
    [luogu] P4823 [TJOI2013]拯救小矮人(贪心)
    [luogu] P4551 最长异或路径(贪心)
    [luogu] P4364 [九省联考2018]IIIDX(贪心)
    [luogu] P4155 [SCOI2015]国旗计划(贪心)
  • 原文地址:https://www.cnblogs.com/ghost240/p/2572747.html
Copyright © 2011-2022 走看看