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()
功能:返回一個臨時文件名


本文轉載自:http://www.cnblogs.com/whiteyun/archive/2009/08/10/1542913.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章