【转】Lua 操作系统库
转老帖子备份
转自:http://www.cnblogs.com/whiteyun/archive/2009/08/10/1542913.html
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()
功能:返回一个临时文件名
【转】Lua 操作系统库的更多相关文章
- Lua操作系统库、流、文件库
Lua操作系统库.流.文件库 1.Lua中所有的操作系统库函数 (1)os.clock() --功能:返回执行该程序cpu花费的时钟秒数 (2)os.time(...) --按参数的内容返回一个时间值 ...
- lua操作json,mysql,redis等
==========================example for lua json======================= local cjson = require("cj ...
- lua 中操作系统库
time 和 date 两个函数在lua中实现所有的时钟查询功能. 函数time在没有参数时返回当前时钟的数值.(在许多操作系统中,该数值是距离某个特定时间的秒数). date是time的一种“反函数 ...
- LUA学习笔记三·时间等操作系统库
1.构造时间 2.时间制定格式输出 3.计时器(闭包)os.difftime (t2, t1) 返回以秒计算的时刻 t1 到 t2 的差值. (这里的时刻是由 os.time 返回的值). 在 POS ...
- lua 操作中文字符串之截取和长度竖排显示
前言 在游戏中,我们经常会遇到汉字的多行显示,比如名字竖行显示等.如下图: 为了实现上面的效果,lua实现分行是通过 \n 实现的,所以我们需要取出汉字,然后插入 \n 实现分行效果.还有一种就是 ...
- lua操作常用函数学习一
(1)lua 和 C++之间的交互的基本知识: lua 和 C++ 之间的数据交互通过堆栈进行,栈中的数据通过索引值进行定位,(栈就像是一个容器一样,放进去的东西都要有标号)其中栈顶是-1,栈底是1, ...
- lua 操作数据库
操作mysql主要用到了lua-resty-mysql库,代码可以在github上找得到 而且上面也有实例代码 由于官网给出的例子比较基本,代码也比较多,所以我这里主要介绍一些怎么封装一下,简化我们调 ...
- lua 操作redis
Redis在2.6推出了脚本功能,允许开发者使用Lua语言编写脚本传到Redis中执行.使用脚本的好处如下: 1.减少网络开销:本来5次网络请求的操作,可以用一个请求完成,原先5次请求的逻辑放在red ...
- Lua操作mysql
require "luasql.mysql" --创建环境对象 env = luasql.mysql() --连接数据库 conn = env:connect("数据库名 ...
随机推荐
- Peak
A sequence of \(n\) integers \(a_1, a_2, \dots, a_n\) is called a peak, if and only if there exists ...
- JDBC二部曲之_事物、连接池
事务 事务概述 事务的四大特性(ACID) 事务的四大特性是: l 原子性(Atomicity):事务中所有操作是不可再分割的原子单位.事务中所有操作要么全部执行成功,要么全部执行失败. l 一致 ...
- servlet方法
1.每一个Servlet都必须要实现Servlet接口,GenericServlet是个通用的.不特定于任何协议的Servlet,它实现了Servlet接口,而HttpServlet继承于Generi ...
- 浅析 Node.js 单线程模型
总结笔记:对于每个用户请求,由主线程接收并存放于一个事件队列中(不做任何处理),当无请求发生时,即主线程空闲,主线程开始循环处理事件队列中的任务: 对于非阻塞JS程序: 1.若某事件需要I/O操作,则 ...
- oracle free space
--Size of All Table Space --1. Used Space SELECT TABLESPACE_NAME,TO_CHAR(SUM(NVL(BYTES,0))/1024/1024 ...
- [CP1804]最短路
题目大意: 一个$n(n\le10^5)$个点的图,给定一个常数$c$,每对点$i,j$之间有权值为$(i\oplus j)\times c$的边.另有$m(m\le5\times10^5)$条指定权 ...
- android intent打开各种文件的方法
android intent打开各种文件的方法 1./** * 检测是否安装了某个软件 * * @param pkgName "com.bill99.kuaishua" ...
- 查看tomcat启动文件都干点啥---server对象
在上一章查看tomcat启动文件都干点啥---Catalina.java中说道了构造Server,,这次尝试着说一下Tomcat中Server的内容,首先看一下org.apache.catalina. ...
- Ubuntu 16.04将系统时间写入到硬件时间BIOS
说明:在Ubuntu中为了和Windows保持一致,会将系统时间设置成CST的,所以下面的说法是设置成UTC的问题是由于所在的环境不一致导致的,本章只讨论如何设置时间到BIOS,不做时区分析,下面忽略 ...
- EDM邮件群发十大技巧提升邮件群发效果
有很多人抱怨现在邮件群发没有什么效果,其实不然,每一种推广方式都有他的优势,没有看到效果说明你没有掌握好方法.个人觉得EDM邮件群发的优势在于传播速度快.不受地域限制.不受时间限制.邮件内容能够多元化 ...