Lua操作系统库、流、文件库

1.Lua中所有的操作系统库函数

(1)os.clock() --功能:返回执行该程序cpu花费的时钟秒数

(2)os.time(...) --按参数的内容返回一个时间值,若不带参数则返回当前时间

(3)os.tmpname() --返回一个临时文件名

(4)os.getenv(varname) --返回当前进程的环境变量varname的值,若无变量则返回空

(5)os.remove(filename) 删除文件,或者一个空目录

(6)os.rename(oldname,newname) 更改一个文件或目录的名字

(7)os.difftime(t2,t1) 返回t1和t2相差的时间秒数

(8)os.date(format,time) 返回一个格式化日期,时间的字串或表

2.操作系统库函数的具体用法

(1)os.clock() 功能:返回执行该程序CPU花去的时钟秒数

 local x = os.clock();
print(os.clock())
local s = ;
for i = , do
s = s+i;
end
print (string.format("for循环用时:%.2f\n",os.clock()-x))

(2)os.time(...) 功能:按参数的内容返回一个时间值(数字),若不带参数则返回当前时间
    --其他元素:year,month,day,hour,min ,sec,isdst

--print(os.time()) --是秒的时间。1970年1月1日-现在的时间
--print(os.time({year = 1970,month = 1,day = 1,hour =8})) --如果hour=0-7这个数值,就会为空,这是有时区差导致的,北京时间的1970-1-1 08:00:00恰好是0时区时间的1970-1-1 00:00:00.所以返回的时间是0

(3)os.tmpname() 功能:返回一个临时文件名 ,不常用
(4)os.getenv(varname) 作用:返回当前进程的环境变量varname 的值,若变量没有定义时返回nil

print(os.getenv("USERNAME"))

(5)OS.remove(filename) 功能:删除文件或一个空目录,若函数的调用失败则返加nil加错误信息

(6)os.rename(oldname,newname) 作用:更改一个文件或目录名,若函数调用失败则返回nil 加错误信息
(7)os.exit(code) 作用:相当于C的exit函数,终止主程序,code为返回值

os.exit() 返回0的话没有终止,返回1的话终止

(8)os.difftime(t2,t1) 功能:返回t1到t2相差的秒数

t1 = os.time()
for i = , do
i = i+
end
t2 = os.time()
print(os.difftime(t2,t1)

(9)os.date(format,time) 功能:返回一个格式化日期、时间的字串或表
       --*t:将返一个带year(4位),month(1-12),day(1-31),hour(0-23),min(0-59),sec(0-61),wday(星期几,星期天为1),yday(年内天数)isdst(是否为日光节约时间true/false)的带键名的表
       --若没有 *t 则返回一个按C的strftime 函数格式化的字符串
       --若不带参数,则按当前系统的设置返回格式化字符串os.date()<=>os.date(%c)

print(os.date())
print(os.date("今天是 %B%d日%A"))
t = os.date("*t",os.time())
for i ,v in pairs(t) do
print(i,"-",v)
end
--print(os.date("%m/%d/%Y", 10300029200))

3.流与文件库

--io.read(...)和io.write(...) 作用:从标准输入流读取数据,输出到标准输出流
--io.read() 作用:就是读取数据,参数可变
--io.write() 作用:就是输出数据,参数可变
--io.read("*number") read函数从当前输入文件读取串,由它的参数控制读取的内容
--"*all" 读取整个文件 "*line" 读取下一行 "*number"从串中转换出一个数值
--num 读取num个字符串
--io.write()函数类似于print函数的用法
--io.input("账号.txt")和io.output("登陆.txt") 作用:io.input()设置参数内的文件为输入文件
--io.output()设置参数内的文件为输出文件

--四个函数联合的用法
io.input("账号.txt")
io.read() --读取账号.txt中的内容
io.output("登陆.txt")
io.write() --输出读取内容到登陆.txt

--io.flush() 输出所有缓冲区中的内容到默认输出文件
--io.close() 用于关闭被打开的io 文件
--io.open(filename,mode) 功能:按指定的模式打开一个文件,成功则返回文件的句柄,失败则返回nil+错误信息
-- “r”读模式(默认),“w”写模式,“a”添加模式,“r+”更新模式,所有之前的数据将被保存
-- “w+”更新模式,所有之前的数据将被清除 “a+”添加更新模式,所有之前的数据将被保存 ,只允许在文件尾进行添加
--“b” 某些系统支持二进制方式

Lua操作系统库、流、文件库的更多相关文章

  1. 【转】Lua 操作系统库

      转老帖子备份 转自:http://www.cnblogs.com/whiteyun/archive/2009/08/10/1542913.html os.clock () 功能:返回一个程序使用C ...

  2. 限流(三)Redis + lua分布式限流

    一.简介 1)分布式限流 如果是单实例项目,我们使用Guava这样的轻便又高性能的堆缓存来处理限流.但是当项目发展为多实例了以后呢?这时候我们就需要采用分布式限流的方式,分布式限流可以以redis + ...

  3. lua操作json,mysql,redis等

    ==========================example for lua json======================= local cjson = require("cj ...

  4. IOS文件操作的两种方式:NSFileManager操作和流操作

    1.常见的NSFileManager文件方法 -(NSData *)contentsAtPath:path //从一个文件读取数据 -(BOOL)createFileAtPath: path cont ...

  5. 在java程序中,对于数据的输入/输出操作以“流”(stream)方式进行

    在java程序中,对于数据的输入/输出操作以“流”(stream)方式进行

  6. springboot + aop + Lua分布式限流的最佳实践

    整理了一些Java方面的架构.面试资料(微服务.集群.分布式.中间件等),有需要的小伙伴可以关注公众号[程序员内点事],无套路自行领取 一.什么是限流?为什么要限流? 不知道大家有没有做过帝都的地铁, ...

  7. lua 中操作系统库

    time 和 date 两个函数在lua中实现所有的时钟查询功能. 函数time在没有参数时返回当前时钟的数值.(在许多操作系统中,该数值是距离某个特定时间的秒数). date是time的一种“反函数 ...

  8. LUA学习笔记三·时间等操作系统库

    1.构造时间 2.时间制定格式输出 3.计时器(闭包)os.difftime (t2, t1) 返回以秒计算的时刻 t1 到 t2 的差值. (这里的时刻是由 os.time 返回的值). 在 POS ...

  9. [WCF编程]10.操作:流操作

    一.流操作概述 在默认情况下,当客户端调用服务时,服务只有在接收到完整的消息后才会被调用,同样,客户端只有在包含了调用结果的返回消息被完整接受时,才会解除对它的阻塞. 对于数据量小的消息,这种交换模式 ...

随机推荐

  1. NTP-网络时间协议

    前言 搭建了一个linux虚拟机,发现跑着跑着时间有差异,查资料发现这个是正常的,因为系统时间和硬件时间是本地时间,会因各种原因导致跟标准时间UTC时间有差异,所以计算机界的牛人发明了NTP协议,专门 ...

  2. the solution of CountNonDivisible by Codility

    question:https://codility.com/programmers/lessons/9 To solve this question , I get each element's di ...

  3. curses-键盘编码-openssl加解密【转】

    本文转载自;https://zhuanlan.zhihu.com/p/26164115 1.1 键盘编码 按键过程:当用户按下某个键时, 1.键盘会检测到这个动作,并通过键盘控制器把扫描码(scan ...

  4. Android多级目录树

    本例中目录树的菜单数据是从json数据中获取,首先建立一个菜单实体类  MenuTree package com.gao.tree; /** * 菜单树的各级菜单实体类 * * @author tjs ...

  5. 捣鼓TinyMCE粘贴图片并上传+Flask后台

    好久没有编程了,最近需要完成一个小功能,为了方便,需要粘贴图片后上传到后台.前台编辑器用tinymce(N年前用过,我也就知道这个编辑器而已.这次使用下来感觉文档更丰富了),后台我用的Flask.昨天 ...

  6. PCB 无需解压,直接读取Zip压缩包指定文件 实现方法

    最近有一项需求,将电测试点数后台批量写入到工程系统流程指示中,而电测试文件存在压缩包中,压缩包存在公共网络盘 示例图: 一.采用原始方法(4步完成): 第1步:.网络盘ZIP拷到本地, 第2步:解压Z ...

  7. hdu3853LOOPS(概率与期望dp)

    LOOPS Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 125536/65536 K (Java/Others)Total Sub ...

  8. pom.xml报错:Failure to find org.apache.maven.doxia:doxia-logging-api:jar:1.1 in http://repo.

    在maven本地库中找到对应的地址:org.apache.maven.doxia找到对应的文件:doxia-logging-api发现文件中包含有lastUpdated字样,表示该文件并未下载完成,然 ...

  9. BZOJ 1877 拆点费用流

    思路: 呃  水题不解释 行么,, //By SiriusRen #include <queue> #include <cstdio> #include <cstring ...

  10. BZOJ 4753 二分+树形DP

    思路: 先二分答案 f[x][j]表示在x的子树里选j个点 f[x][j+k]=max(f[x][j+k],f[x][j]+f[v[i]][k]); 初始化 x!=0 -> f[x][1]=p[ ...