标准os库

os.rename(oldname, newname)

文件重命名;

os.remove(filename)

删除一个文件

os.execute(cmd)

os.execute可运行一条系统命令,类似于C语言的system函数。

os.execute("mkdir /tmp/cq")

os.exit(code)

中止当前程序的执行,code参数默认值为true。

os.getenv(variable)

返回环境变量的值,如果不存在,返回nil。

print(os.getenv('HOME')) -- /root
print(os.getenv('ROOT')) -- nil

os.time(tb)

返回一个指定时间点的UNIX时间戳,如不带参数调用的话,就返回当前时间点的UNIX时间戳。

print(os.time())
print(os.time{year=, month=, day=, hour=})

参数table的字段包括:

year

年份

month

01-12

day

01-31

hour

00-23

min

00-59

sec

00-59

isdst

布尔值,true表示夏令时

其中,year、month、day 三个字段是必须的,其它字段默认取 12:00:00。

os.date(format, sec)

os.data 是os.time 的反函数,它将一个UNIX时间戳转换成可读的字符串形式,如果省略第2个参数,默认返回当前时间点的日期。。

为了生成一个日期table,可以使用格式字符串"*t",例如:

tb = os.date("*t")

for k,v in pairs(tb) do
print(k,v)
end

输出:

hour
min
wday
day
month
year
sec
yday
isdst false

而对于其它格式字符串,os.date 会将日期格式化为一个字符串,这个字符串是传入格式字符串的一个复制,但其中的某些特殊标记被替换成了时间和日期信息。所有的标记都以"%"开头,并伴随一个字符,例如:

print(os.date())                            -- Tue Oct 28 13:57:39 2014
print(os.date('today is %A, in %B')) -- today is Tuesday, in October
print(os.date('%x',os.time()-** )) -- 10/21/14

下面列出了所有的标记及其含义:

%a

星期简写,如Wed

%A

星期全称,如Wednesday

%b

月份简写,如Sep

%B

月份全称,如September

%c

日期和时间,如09/16/14 13:43:08

%d

一个月中的第几天,01-31

%H

24小时制中的小时数,00-23

%I

12小时制中的小时数,01-12

%j

一年中的第几天,001-366

%M

分钟数,00-59

%m

月份数,01-12

%p

上午(am)或下午(pm)

%S

秒数,00-59

%w

一星期中的第几天,0-6

%x

日期,如 09/16/14

%X

时间,如13:47:20

%y

两位数的年份,如14

%Y

完整的年份,如2014

%%

字符%

os.difftime(t2, t1)

返回从t1到t2的时间跨度值。

os.clock()

函数os.clock 返回当前CPU时间的秒数,一般可用于计算一段代码的执行时间

local x = os.clock()
local s =
for i=,^ do s = s + i end print(string.format("elapsed time: %.2f\n", os.clock() - x))

Lua 之os库的更多相关文章

  1. Lua 学习之基础篇五<Lua OS 库>

    lua os库提供了简单的跟操作系统有关的功能 1.os.clock() 返回程序所运行使用的时间 local nowTime = os.clock() print("now time is ...

  2. Lua判断OS并添加cpath

    Lua判断OS并添加cpath(金庆的专栏)Lua初始化时需要根据OS来设置package.cpath, 如果是Windows系统则添加 ?.dll, 否则添加 ?.so.不然加载错误后缀名的动态库会 ...

  3. 生成lua的静态库.动态库.lua.exe和luac.exe

    前些日子准备学习下关于lua coroutine更为强大的功能,然而发现根据lua 5.1.4版本来运行一段代码的话也会导致 "lua: attempt to yield across me ...

  4. python基础—sys与os库

    python可以用sys库打印环境变量或者查看当前文件的脚本路径,具体代码: import sysprint(sys.path[2])#打印环境变量print(sys.argv)#当前脚本路径 os库 ...

  5. os库新建文件夹

    file.write()可以自动生成文件但不能生成文件夹. os库生成文件夹 # 判断文件夹是否存在(./xxx/xxx) if not isExists: os.makedirs(path) pri ...

  6. python之os库

    python之os库 os.name 判断现在正在实用的平台,Windows 返回 'nt'; Linux 返回'posix' >>> os.name 'nt' os.getcwd( ...

  7. lua luna工具库

    luna工具库 概述 luna库提供了几个lua开发的常见辅助功能: lua/c++绑定 lua序列化与反序列化 变长整数编码,用于lua序列化,当然也可以方便的用于其他场合 这里把代码编译成了动态库 ...

  8. 使用Lua的扩展库LuaSocket用例

    目录结构 LuaSocket 是 Lua 的网络模块库,它可以很方便地提供 TCP.UDP.DNS.FTP.HTTP.SMTP.MIME 等多种网络协议的访问操作. 它由两部分组成:一部分是用 C 写 ...

  9. OS库的使用

    Python中有关OS库的使用 路径操作 os.path.abspath(path) 返回path在当前系统中的绝对路径 os.path.normpath(path) 归一化path的表示形式,统一用 ...

随机推荐

  1. 全面理解Context

    出处:http://blog.csdn.net/lmj623565791/article/details/40481055,本文出自:[张鸿洋的博客] 本文大多数内容翻译自:http://www.do ...

  2. Yii学习

    今天保存出错,但是什么也没提示,所以就查了下,怎么输出错误 $model->save(); $model->getErrors(); 获取,刚插入数据的id $reply->save ...

  3. Sublime Text快捷键和常用插件推荐

    Sublime Text快捷键: Ctrl+Shift+P:打开命令面板 Ctrl+P:搜索项目中的文件 Ctrl+G:跳转到第几行 Ctrl+W:关闭当前打开文件 Ctrl+Shift+W:关闭所有 ...

  4. 【BZOJ-2436】嘉年华 DP + 优化

    2436: [Noi2011]Noi嘉年华 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 529  Solved: 382[Submit][Statu ...

  5. ListView优化-通用ViewHolder编写备份

    ViewHolder.java package cn.edu.bzu.util; import android.content.Context; import android.util.SparseA ...

  6. Uva1624 Knots

    极其鬼畜的题. 初见根本没有思路. 二见根本没有思路. …… 多年(并不)之后突然想到,也许可以用链表模拟. 先用链表把每一个节点串起来,并对有覆盖的地方进行标记. 模拟解锁操作,如果一个节点和它所覆 ...

  7. Python Twisted、Reactor

    catalogue . Twisted理论基础 . 异步编程模式与Reactor . Twisted网络编程 . reactor进程管理编程 . Twisted并发连接 1. Twisted理论基础 ...

  8. Linux下修改进程名称

    catalog . 应用场景 . 通过Linux prctl修改进程名 . 通过修改进程argv[]修改进程名 . 通过bash exec命令修改一个进程的cmdline信息 1. 应用场景 . 标识 ...

  9. VMP虚拟机加壳的原理学习

    好久没有到博客写文章了,9月份开学有点忙,参加了一个上海的一个CHINA SIG信息比赛,前几天又无锡南京来回跑了几趟,签了阿里巴巴的安全工程师,准备11月以后过去实习,这之前就好好待在学校学习了. ...

  10. centos虚拟机克隆

    vmware vsphere平台上克隆centos6 一.删掉/etc/udev/rules.d/70-persistent-net.rules文件 reboot 二.vim ifcfg-eth0 删 ...