Lua操作系统库流文件库

Posted mengmengxia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lua操作系统库流文件库相关的知识,希望对你有一定的参考价值。

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
",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” 某些系统支持二进制方式




















以上是关于Lua操作系统库流文件库的主要内容,如果未能解决你的问题,请参考以下文章

IO流在C++中的应用

在 Postgresql 中逐行处理 Java 8 JPA 存储库流

在Pandoc lua过滤器中连接字符串片段

使用C ++代码获取Lua package.cpath和path

如何用Lua.EXE调用Lua文件啊?

lua是啥语言