lua脚本读取文本每次一行 如何实现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lua脚本读取文本每次一行 如何实现相关的知识,希望对你有一定的参考价值。
--读取13.txt文本内的内容如:
aa001
aa002
aa003
...........
local filePath = "/var/touchelf/13.txt" --读取13.txt文本内的内容如aa001
function readFile(file)
assert(file,"file open failed")
local fileTab =
local line = file:read()
while line do
print("get line",line)
table.insert(fileTab,line)
line = file:read()
end
return fileTab
end
function main()
print("start")
local fileRead = io.open(filePath)
if fileRead then
local tab = readFile(fileRead)
fileRead:close()
table.remove(tab,1)
local fileWrite = io.open(filePath,"w")
if fileWrite then
writeFile(fileWrite,tab)
fileWrite:close()
inputText("?????",line)--这里如何让输出的文本实现每次一行
end
for line in file:lines() do
print(line) -- 这里就是每次取一行
end追问
local file = io.open("xx.xxx")
for line in file:lines() do
print(line) -- 这里就是每次取一行
inputText("?????",line)--这里面应该用什么来调用读出来的内容?
end
line 就是读出来的每一行文字 你想怎么调用就怎么调用
比如我用的方法就是把他print出来
这明明是全部一次读出,我读书少,你不要骗我。。
local file = io.open("xx.xxx")
for line in file:lines() do
print(line) -- 这里就是每次取一行
inputText(line)--------这里明明把文本里所有行全读了。。。
end
你书确实读的少 没读到这一快
所以你运行一下就知道到底有没有错
lua官方说明文档:
file:lines ()
Returns an iterator function that, each time it is called, returns a new line
from the file. Therefore, the construction
for line in file:lines() do body end
will iterate over all lines of the file. (Unlike io.lines, this function does not close the
file when the loop ends.)
以上是关于lua脚本读取文本每次一行 如何实现的主要内容,如果未能解决你的问题,请参考以下文章