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. Clojure:通过ZeroMQ推送消息

    通过ZeroMQ的pub/sub模式,我们可以实现发送推送消息的功能.以下为示例代码(入门可参考此文:http://www.cnblogs.com/ilovewindy/p/3984269.html) ...

  2. python 使用scapy编写DNS Fuzzer

    1. 描写叙述 使用scapy库,编写一个DNS Fuzzer工具,并測试.在这之前.先说明一下DNS协议请求包是封装在IP包中的UDP包(有些情况也可使用TCP)中.且UDP的端口为53. 进入sc ...

  3. 飘逸的python - 实现一个极简的优先队列

    一个队列至少满足2个方法,put和get. 借助最小堆来实现. 这里按"值越大优先级越高"的顺序. #coding=utf-8 from heapq import heappush ...

  4. linux网络測试命令

    ping  192.168.1.103  -c  3 ping我的IP3次 port探測 telnet  192.168.1.103  80 路由跟踪 traceroute  www.imooc.co ...

  5. 很强大的shell写的俄罗斯方块

    网上看到的一个用linux的shell脚本写的俄罗斯方块. 是我至今见过写的最牛逼的shell了.共享一下. 原作者信息在脚本的凝视中有. 下载地址:点击下载 #!/bin/bash # Tetris ...

  6. Java常用类及反射,类加载

    1.系统相关类 Java提供了System类和Runtime类来与程序运行的平台进行交互 A.System类代表当前Java程序的运行平台 a. System类是一个final类,该类的所有属性和方法 ...

  7. Enter the path to the kernel header files for the 3.18.0-kali1-686-pae kerne vmware tool

    安装VMWare Tools出现提示:Enter the path to the kernel header files for the 3.18.0-kali1-686-pae kerne? 201 ...

  8. Coursera Algorithms week2 栈和队列 练习测验: Queue with two stacks

    题目原文: Implement a queue with two stacks so that each queue operations takes a constant amortized num ...

  9. Coursera Algorithms week1 算法分析 练习测验: 3Sum in quadratic time

    题目要求: Design an algorithm for the 3-SUM problem that takes time proportional to n2 in the worst case ...

  10. 3-5 第三天 Koa 和 Express 中间件

    Koa和Express这两个框架除了在接收请求和返回数据方面有非常通用.好用的封装以外,最有价值的地方就是它们有自己的中间件机制,所以说中间件可以看做是流水线上一个又一个的加工房间,每个加工的房间都只 ...