lua基础之io

Lua 使用 —— IO 操作 Lua 语言是以一个脚本存在,所以他自身不会提供太多和外部交互的机制。需要交互则由宿主提供或是由外部库。接下来分享下如何使用以 iso c 作为宿主,进行标准库的 io 操作。Github传送门(如果对你有所帮助或喜欢的话,赏个star吧,码字不易,请多多支持)本章相关代码传送门公众号搜索 “江澎涌” 可以更快的获取到后续的更新文章。 阅读详情

io.close()

closes a file

io.flush()

flushes outstanding data to disk for the default output file

io.input()

opens filename for input in text mode

io.lines()

returns an iterator function for reading a named file line-by-line

io.open()

file = io.open (filename [, mode])

mode

  • r 以只读方式打开文件,该文件必须存在。
  • w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
  • a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
  • r+ 以可读写方式打开文件,该文件必须存在。
  • w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
  • a+ 与a类似,但此文件可读可写
  • b 二进制模式,如果文件是二进制文件,可以加上b
  • +号表示对文件既可以读也可以写

io.output()

opens a file for output

io.popen()

creates a pipe and executes a command

io.read()

reads from the default input file

io.tmpfile()

returns a handle to a temporary file

io.type()

returns type of file handle

io.write()

writes to the default output file

file:close()

closes a file

file:flush()

向文件写入缓冲中的所有数据

file:lines()

returns an iterator function for reading the file line-by-line

file:read()

reads the file according to the specified formats

file:seek(optional whence, optional offset)

设置和获取当前文件位置,成功则返回最终的文件位置(按字节)	
参数 whence 值可以是:
"set": 从文件头开始
"cur": 从当前位置开始[默认]
"end": 从文件尾开始
offset:默认为0
不带参数file:seek()则返回当前位置,file:seek("set")则定位到文件头,file:seek("end")则定位到文件尾并返回文件大小

file:setvbuf()

sets the buffering mode for an output file

file:write()

writes to a file

ok, message = os.remove (filename)

Deletes a file

ok, message = os.rename (oldname, newname)

Renames a file

s = os.tmpname ()

Returns a name for a temporary file
Lua 文件 I/O Lua 中的文件 I/O 操作简单而强大,通过io库提供的函数,可以轻松地完成文件的读取、写入和关闭操作。掌握文件 I/O 操作对于 Lua 程序员来说是非常重要的,因为它们在处理配置文件、日志记录和数据处理等任务时非常有用。 阅读详情

相关推荐

lua io函数

ioio库提供两种io操作风格。第一种使用隐含的文件描述符,有操作设置默认的 输入文件和输出文件。第二种是明确的文件描述符。当使用明确风格时,所有的 操作由表io提供。|io.open|返回文件描述符和它们的操纵方法。 表io也提供3个于定义的文件描述符io.stdin,io.stdout,io.stderr。I/O库绝不 会关闭这些文件。 I/O函数在出错时返回nil(加一个错误消息和一

john_crash的专栏 3350

lua的io包,文件读写

- io.input(...) 输人函数,读取文件时使用。----上面是lua的io读写文件,下面是file直接操作。io.write("-- 1.txt 文件末尾注释")-- -- 在文件最后一行添加 Lua 注释。-- -- 设置默认输出文件为 1.txt。-- "L" 读取下一行,保留换行符。-- "l"读取下一行,丢弃换行符。-- mode 打开文件模式。-- "a" 读取整个文件。-- "n" 读取一个数值。-- -- 关闭打开的文件。-- 以只读方式打开文件。-- 关闭打开的文件。

yydsadasd的博客 865

蓝桥杯FPGA赛道积分赛

代码如下: 按键驱动 代码如下 按键驱动 代码如下: 顶层文件 按键驱动 数码管驱动 声明:本代码借鉴网络资料,如有侵权和错误请联系作者删除。我是从寒假开始备赛的,由于我基础不行,备赛过程中也是混混呃呃的,备赛效率不高,总体来说备赛不认真,有点拖拉,但是最后我也坚持备赛到了今天,在备赛过程中,即复习了旧的东西,也学到了新的东西,总结起来还是有点收获的,后天北京、天津、河北地区就要进行省赛了,我会全力以赴,不管结果怎么样,尽力就好,最后祝大家都能

weixin_69804913的博客 1983

Lua IO库详解

I/O 库提供了两套不同风格的文件处理接口。 第一种风格使用隐式的文件句柄; 它提供设置默认输入文件及默认输出文件的操作, 所有的输入输出操作都针对这些默认文件。 第二种风格使用显式的文件句柄。 当使用隐式文件句柄时, 所有的操作都由表 io 提供。 若使用显式文件句柄, io.open 会返回一个文件句柄,且所有的操作都由该文件句柄的方法来提供。 表 io 中也提供了三个 和 C 中含义相同的预...

weixin_34258838的博客 731

iOS中.obj、.usdz、.dae和.scn格式之间的转化(思路清晰版)

作者最近在写项目的过程中遇到了一些3d模型格式问题,故写下这篇文章记录一下解决问题的过程。

yueliangmua的博客 5586

光学薄膜设计入门:Essential Macleod中文版从安装到实战全攻略

本文为光学薄膜设计初学者提供Essential Macleod软件从安装部署到实战应用的全流程中文指南。详细解析了软件核心界面、材料管理及工作流程,并通过一个完整的宽带增透膜设计实例,手把手演示膜系构建、优化与分析方法,帮助用户快速掌握这一业界标杆工具,跨越理论与实操的门槛。

weixin_29309475的博客 981

[Lua]Lua IO库整理

I/O库为文件操作提供了两种不同的模型,简单模型和完整模型。简单模型假设有一个当前输入文件和一个当前输出文件,它的I/O操作均作用于这些文件。完整模型则使用显式地文件句柄。它采用了面向对象的风格,并将所有的操作定义为文件句柄上的方法。  简单IO模式 简单模型的所有操作都作用于两个当前文件。I/O库将当前输入文件初始化为进程标准输入(stdin),将当前输出文件初始化为进程标准输出。在执行io

超越 5309

(二)MS-MPI多机通信

1.关于MPI多机通信 一台计算机处理数据的能力是有限的,MPI的主要作用就是用来实现并行计算机,即将多台主机联机,实现大规模、高性能的计算机机群。我们知道一台计算机同时运行多个进程时,由于计算机资源是共享的,多个进程都会占用一些资源,每个进程运行的效率就会降低,比如当一台计算机同时跑着多个大型应用时会变得非常卡顿。所谓多机通信,可以理解为将本应该在同一台主机上运行的多个进程分配到多台主机上,以往...

xinwuya_的博客 4392

lua 的io操作,非常详细。

 Lua 标准库 - 输入输出处理(input and output facilities)责任编辑:cynthia作者:来自ITPUB论坛   2008-02-18   文本Tag: Lua  【IT168 技术文档】I/O库提供两种不同的方式进行文件处理  1、io表调用方式:使用io表,io.open将返回指定文件的描述,并且所有的操作将围绕这个文件描述 

duanxuyun的专栏 10万+

二阶高通滤波器硬件设计:5种RC到有源方案对比与选型

在传感器前端和音频信号调理中,二阶高通滤波器是抑制直流偏移与低频干扰的关键模块。其设计核心围绕截止频率、品质因数Q、增益与噪声四个指标展开,其中Q值决定滤波器在转折频率附近的响应形状,如Butterworth最大平坦响应需Q=0.707。从纯无源RC电路到引入运放的有源拓扑,演变逻辑在于解决负载效应、提供增益并借助反馈提升Q值。实际工程中,RC级联、VCVS(Sallen-Key)、状态变量及回转器模拟电感等方案各有适用场景:RC电路简单但Q值受限,Sallen-Key单运放即可实现高Q,状态变量适合Q值独

weixin_32770423的博客 98

闲鱼x-sign、x-mini-wua、x-umt三字段协同验证机制解析

在移动客户端风控体系中,设备标识与行为签名是保障接口安全的核心技术。x-sign并非传统时间戳+密钥的静态签名,而是融合设备特征、运行时状态与服务端动态因子的多阶段位运算结果;x-mini-wua作为小程序轻量水印,依赖主App注入的短时效sessionKey与截断时间戳;x-umt则通过设备硬件与网络环境联合编码实现强绑定。三者构成‘设备—环境—行为’三位一体的交叉验证链路,广泛应用于电商API防护、二手平台数据采集及自动化运营等场景。本文基于Android/iOS真机逆向与Frida动态分析,揭示其生成

weixin_30457551的博客 422

lua io操作

lua io操作

weixin_43931625的博客 2053

智能车实战——从ADC采集到PWM控制,让电磁车精准循迹

本文详细介绍了电磁循迹智能车的实现原理与实战技巧,涵盖从ADC信号采集、PWM控制到PID算法整定的全流程。通过STM32代码示例解析电感信号处理、差比和偏差计算及电机驱动等关键技术,帮助开发者快速掌握智能车精准循迹的核心方法,提升电磁车竞赛项目的开发效率。

weixin_29192211的博客 301

在LUA中使用异步IO的思考

本文介绍利用lua协程+libuv 实现异步IO的方法

bywayboy的专栏 2639

1.4 KFD 设备文件的获取与驱动握手协议

本文分析了OpenClose模块中libhsakmt与KFD内核驱动建立通信的过程。首先通过hsaKmtOpenKFD()函数打开/dev/kfd设备文件,建立用户态与内核态的通信通道。随后通过AMDKFD_IOC_GET_VERSION ioctl命令完成版本握手,确认双方的接口兼容性。KFD驱动采用Major.Minor二级版本号体系,当前主要版本为1,从1.1演进到1.19不断添加新功能。整个过程构成了用户态与内核态之间的"建连协议",是所有后续GPU操作的基础前提。

图形/计算GPU的驱动与虚拟化技术分享园地 599

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

lua中的io

--[[ Lua中的IO模型 1、了解模型中的read和write 2、IO库复杂模型的性能小诀窍 读取二进制文件(就是在原来的基础上加b) local f = assert(io.open("ok.txt",'rb')) --local m = require("io") --m.write("ok\n") io.write("ok\n") io

爱生活,爱学习 912

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【lua语言基础(四)】IO模型以及补充知识

本篇文章主要讲解了lua语言的IO模型和控制流程相关知识

杭电码农-NEO的博客 1573

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

LUA io.input,io.output,io.write,io.read之间的关系

io.write(content)//输出内容,可以是字符串,函数,表达式等,不能使nil,例如 io.write("sin(30)=",math.sin(3.14/6)); 如果不设置io.output,io.write会输出到控制台 做如下设置 page=[[               An HTML Page               LUA          

zhuoyuetec的专栏 5962

Lua IO文件copy

目录:     1.普通文件读写     2.二进制文件读写     3.普通文件copy     4.二进制文件copy     5.文件读写模式分类     6.io.read函数的模式 1.普通文件读写     1.1 文件读      -- function:read_common_file("C:\\Users\\whx\\Desktop\\demo.txt"

Andy_lau 4079

Lua中的IO使用

最近写一个功能,需要写入本地缓存文件,记录一下Lua的IO用法: local checkClickPath = Application.persistentDataPath.."/CheckClick.lua" function MafiaPrequelProxy:CheckRoleClick(uId)--检测玩家id是否点击过 local userStr = tostring(uId)....

OneWord233的博客 568

Lua IO库笔记

IO库提供了两套不同风格的文件处理接口。第一种风格为简单模式, 其使用隐式的文件句柄; 它提供设置默认输入文件已经默认输出文件的操作, 所有的输入输出操作都针对这些默认文件。第二种风格为完全模式,其使用显示的文件句柄 当使用隐式句柄时, 所有的操作都由表IO提供,当使用显示文件句柄, io.open会返回文件句柄, 且所有的操作都由该文件句柄的方法来提供。 表IO中也提供了三个和C中含义相同的预定义文件句柄:io.stdin、io.stdout、stderr. I/O库永远不会关闭这些文件 简单模式在

奋斗Andy的博客 1423

lua io的操作

lua中的io操作比较简单,函数列表如下: write的函数很简单,主要是read函数 read的参数 *number 读数字 *line 读行 *all 读文本

u012735451的专栏 673

php io操作,lua 的io操作,非常详细

Lua 标准库 - 输入输出处理(input and output facilities)I/O库提供两种不同的方式进行文件处理1、io表调用方式:使用io表,io.open将返回指定文件的描述,并且所有的操作将围绕这个文件描述io表同样提供三种预定义的文件描述io.stdin,io.stdout,io.stderr2、文件句柄直接调用方式,即使用file:XXX()函数方式进行操作,其中file...

weixin_39716043的博客 333

lua io

io表调用方式:使用io表,io.open将返回指定文件的句柄,并且所有的操作将围绕这个文件句柄   文件句柄直接调用方式,即使用file:XXX()函数方式进行操作,其中file为io.open()返回的文件句柄   多数I/O函数调用失败时返回nil加错误信息,有些函数成功时返回nil   1、io.close ([file])   功能:相当于file:close()

小小小5的专栏 483
上一篇: lua基础之package
下一篇: lua基础之debug
a_codecat
博客等级 码龄4年 8粉丝 112原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值