1. Lua 怎么读取文件中的某行数值
假设有一个很多行文本的文件,你想从中读取一行,并打印到屏幕上。为此我们可以使用 io.open() 命令打开文件并读取。
命令的语法是 io.open(filename, mode)。此处将使用 r 作为 mode 的值,意指读取(read)模式。作为参考,下面是所有可用模式的列表:
引用:
r - 读取模式w - 写入模式(覆盖现有内容)
a - 附加模式(附加在现有内容之后)
b - 二进制模式
r+ - 读取更新模式(现有数据保留)
w+ - 写入更新模式(现有数据擦除)
a+ - 附加更新模式(现有数据保留,只在文件末尾附加)
第一件要做的事情就是打开文件并存为一个变量。看下面。
代码:
file = io.open("testRead.txt", "r")
*n - 读取一个数字并返回它。例:file.read("*n")
*a - 从当前位置读取整个文件。例:file.read("*a")
*l - (默认) - 读取下一行,在文件尾 (EOF) 处返回 nil。例:file.read("*l")
number - 返回一个指定字符个数的字符串,或在 EOF 时返回 nil。例:file.read(5)
2. lua语言 如何读取一个文件中的内容(里面是应用路径),然后打开对应的文件。
第一步:先把txt文件复制到MATLAB的目录,或者在MATLAB中将路径指向txt文件所在路径。
第二步:右键存有数据的txt文件,选择Import Data...
第三步:Import Data之后就能看到txt里的数据被妥善安放好位置了,然后在Range右边的列表中选择Matrix,再点击绿色的对勾√导入数据:
第四步:导入完数据后,在workplace里能看到名为txt文件名的数组变量,就说明导入成功,这里是a:
第五步:最后就是编写语句了:plot(a(:,2),a(:,3),'o'),回车就会出现以o为点的散点图,如果是:plot(a(:,2),a(:,3),'*'),就得到以*为点的散点图;
绘图说明:
1.将数据表的各列数值分别赋予变量x、y、z等,格式如下:x=sheetname(:,1), y=sheetname(:,2), z=sheetname(:,3);
2.用命令plot(x,y,’XXXX’)绘制图形,单引号中的符号表示点线的属性,如线形、颜色、点的形状等,若用双对数坐标画图则命令为loglog(x,y);
3.在弹出的绘图界面中用菜单View—Property Editor编辑图形属性,如字体大小、数据点形状、横纵坐标名称、绘图区域颜色等;
4.绘图方法2:在数组编辑器上点击Plot Selection按钮,选择图形的类型即可;
5.绘图方法3:菜单File—New—Figure创建新的图形,在图形编辑器中Figure Palette面板点击2D Axes,点击右下角Add Data选择图表类型和坐标轴的数据源,度分布图将坐标轴由线形改为对数即可。
6.hold on/off命令:叠绘命令,切换绘图的保持功能;
7.绘制双纵轴:
7.1 plotyy(x1,y1,x2,y2):分别用左/右侧y轴表示两条曲线;
7.2 plotyy(x1,y1,x2,y2,FUN):FUN是字符串格式,用来指定绘图的函数名,可以由多个。
8.创建子图:subplot(m,n,p):表示将绘图区域分为m*n个矩形块,分别创建坐标系,如 >>subplot(1,2,1);loglog(x,y); >>subplot(1,2,2);loglog(m,n); 表示在图形中创建两个子图,左右排列,分别绘制双对数坐标图,变量分别是x、y和m、n。
3. lua脚本读入文本文件以及删除第一行文本
我直接给你个读出每一行的方法吧
local path = "d:\\1.txt"
local file = io.open(path,"r")
if file then
for line in file:lines() do
print(line) -- 这里就是读出每一行txt里的文字并且print到标准输出上 如果需要修改 只要改掉print就好
end
end
4. lua语言下 读取txt数据问题
file=io.open("D:数据.txt","r")
ls={}
i=0
forlinfile:lines()do
i=i+1
ls[i]=l
end
file:close()
localmaxline=#ls
localcount=1
---------前面读文件-----------------
----------点击按钮的部分----------------------
ifcount<=maxlinethen
count=count+1
end
inputText(ls[count])--
5. lua脚本读取文本每次一行 如何实现
localfile=io.open("xx.xxx")
forlineinfile:lines()do
print(line)--这里就是每次取一行
end
6. lua 怎么读取txt文件最后一行内容
【1】最简单的 就是不考虑文本大小,一次性读入,然后正则匹配
localtext=[[
lua怎么读取txt文件最后一行内容?
1让io.lines走到最后然后再读取可以么?
2或者怎么用find方法找出符合条件的最后一个字符串后面的内容?
3就是怎么找到正则表达式最后一个匹配到的结果?
]]
localpath=[[d:1.txt]]
--[==[
assert(notio.open(path,"r"),"Tempfilealreadyexists!")
--写测试文件
localfile=io.open(path,"w+")
file:write(text)
file:close()
--]==]
localfile=io.open(path,"r+");
localtext=file:read("*all");
localregex="([^ ]+)$"--匹配最后一行,最后一行为空行,则找不到
localregex="([^ ]+)[ ]*$"--匹配最后一行有效文本$表示匹配字符串结尾位置
forlineinstring.gmatch(text,"([^ ]+)[ ]*$")do
print(line)
end
file:close();
【2】如果文件超大,内存不够一次性读入文件,效率低点可以 按行遍历,找到行,在检查条件等等
考虑效率 应该 利用文件指针,先计算文件大小,然后分析出 读入文件块的大小,比如说 按8K读入,然后从文件尾向前推8K,一次性读入该字块,然后搜索换行符,如果找不到 继续递推读入直到找到换行,如果有换行,就转换成第一步 正则匹配
【附录】
--文件指针操作
localcur_pos=file:seek()
file:seek("end")
file:seek("set",pos)
--由于单行读取遍历
localfile=io.open(path,"r+");
forlineinfile:lines()do
last_line=line
end
7. 怎样使用lua读取文件夹内所有文件
3年半了都没人回答你,我来帮你关闭吧
8. lua怎么把手机的txt文件读出来
localfile=io.open("文件所在路径")
localcount=1
forlineinfile:lines()do
ifcount%2==1then
--这里的line是账号
else
--这里的line是密码
end
count=count+1
end比较关键的2个地方
这里的路径 自己要控制好
确认一下 你的lua是否有权限读写文件
9. 如何在Lua中读取整个文件
f=io.open('c:/lua/abc.csv','r')
s=f:read('*a')
f:close()
print(s)
10. lua 读取文本,并输出在文本中
应该这样写
local f = io.open("test.txt","a")
local t = f:write("1111111","\n")
f:close()