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花去的时钟秒数

1 local x = os.clock();
2 print(os.clock())
3 local s = 0;
4 for i = 1,10000000 do
5 s = s+i;
6 end
7 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(1) 返回0的话没有终止,返回1的话终止

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

t1 = os.time()
for i = 0,100000000 do
i = i+1
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” 某些系统支持二进制方式

转载于:https://www.cnblogs.com/mengmengxia/p/9238639.html

Lua操作系统库、流、文件库相关推荐

  1. RTX操作系统库方式移植

    本章教程为大家将介绍RTX操作系统库方式移植,库方式的移植超级简单,应该是所有RTOS里面最简单的了,仅需简单的两步就可以完成. 本章教程含Cortex-M3内核的STM32F103的移植和Corte ...

  2. java中使用lua操作redis

    java中使用lua脚本参见我的上一篇文章 lua基础 本篇简单说下java中使用lua操作redis的示例,如下: 先引入jedis <dependency><groupId> ...

  3. Lua操作字符串去除回车换行以及空格

    Lua操作字符串去除回车换行以及空格 前言 lua的数据结构中string和table用的非常多,基本只要写lua脚本都会大量使用,其重要性不言而喻,这里主要说一下string去除回车换行和空格的方法 ...

  4. 【Kotlin 协程】Flow 异步流 ⑤ ( 流的上下文 | 上下文保存 | 查看流发射和收集的协程 | 不能在不同协程中执行流的发射和收集操作 | 修改流发射的协程上下文 | flowOn函数 )

    文章目录 一.流的上下文 1.上下文保存 2.流收集函数原型 3.流发射函数原型 4.代码示例 - 查看流发射和收集的协程 5.代码示例 - 不能在不同协程中执行相同流的发射和收集操作 二.修改流发射 ...

  5. 【Delphi入门】文件系统(文件分类 文件文本变量 文件操作 文件流操作)

    文件分类 文本文件(TextFile) & 二进制文件(Flie) 二进制形式存放数据占有存储空间较少,但不直观:文本文件与之相反 文件是由相同类型的数据元素组成的序列.在DELPHI中对文件 ...

  6. arm rtx教程_【RTX操作系统教程】第5篇 RTX操作系统库方式移植(超级简单).pdf

    武汉安富莱电子有限公司 武汉安富莱电子有限公司 WWW.ARMFLY.COM 安富莱STM32-V4开发板RTX教程 WWW.ARMFLY.COM 安富莱STM32-V4开发板RTX教程 第5章 RT ...

  7. Lua中的操作系统库

    这个库通过表os实现 os.clock () 功能:返回一个程序使用CPU时间的一个近似值 例如: local x = os.clock(); print(os.clock()) local s = ...

  8. ratelimit+redis+lua对接口限流

    背景:为防止接口QPS太大而造成系统运行卡顿的现象,在这儿以ratelimit+redis+lua对系统接口做了个限流.当时也考虑过使用其他的限流方法,比如微服务生态中使用的sentinel中间件,但 ...

  9. 教你如何用 Lua 操作文件中的数据

    了解 Lua 如何处理数据的读写. 有些数据是临时的,存储在 RAM 中,只有在应用运行时才有意义.但有些数据是要持久的,存储在硬盘上供以后使用.当你编程时,无论是简单的脚本还是复杂的工具套件,通常都 ...

最新文章

  1. sqlmap namespace ibatis 没有生效
  2. 爱创课堂每日一题101天-哪些操作会造成内存泄漏?
  3. numpy 笔记 view,copy和numpy的运行速度
  4. vue组件实现查看大图效果
  5. oracle的会话(session)
  6. 电子开发网---一个硬件很好的网站
  7. ERwin 正向工程
  8. 2018计算机本科论文,计算机科学学院关于2018届本科毕业论文(设计)的工作安排...
  9. 13.请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。
  10. Android adb 环境变量配置的坑 adb 不是内部或外部命令
  11. 阿里云服务器被攻击10g怎么进黑洞了?
  12. 蓝牙卡复制html,蓝牙卡悄然远去 你留意了吗
  13. 构建工具----gradle---可能遇到的问题----Could not reserve enough space for object heap
  14. Excel如何批量添加图片批注?
  15. 【云原生】Docker容器详细讲解
  16. 从零开始教你设计反激开关电源(适合初学者、进阶者)
  17. vue elementui中el-table 动态合并行 数组去重
  18. createjs typescript代码提示
  19. Unity 精简缓动动画脚本
  20. 移动硬盘部分盘符打不开,双击时电脑很卡,会卡死资源管理器。腾讯电脑管家显示盘符为加密。...

热门文章

  1. 畅玩7X会用上鸿蒙系统吗,荣耀畅玩7X怎么样?值不值得买看完你就知道了
  2. 刷脸支付赋予日常场景更多的功能和应用
  3. 【python轻量级中台框架开发第一层】 ORM flask-sqlacodegen
  4. onenote 使用_使用OneNote使记忆信息更容易
  5. 解读ChatGPT背后的技术重点:RLHF、IFT、CoT、红蓝对抗
  6. 学生-课程数据库与数据定义
  7. STemWin中显示中文与图片
  8. 嵌入式IDE原理 OpenOCD介绍 以及stlink如何连接stm32板子
  9. stlink v3驱动_STLINK-V3SET - STLINK-V3模块化在线调试器和编程器用于STM32/STM8 - STMicroelectronics...
  10. ESB集成系统,轻量级的企业总线平台