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

local file = io.open("xx.xxx")
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.)

参考技术A 这个很简单~~要看Lua号,是5.1的话,那你可以下Luadec来反编译。他并没有加密,那是Lua字节码用luac加密过了,可以dofile ""的格式调用运行,然后修改数值保存替换。

以上是关于lua脚本读取文本每次一行 如何实现的主要内容,如果未能解决你的问题,请参考以下文章

VB6.0中如何实现逐行读入文本文件?

lua如何让循环运行慢一点

linux shell读取文件每一行加入用户输入

lua脚本延迟10秒怎么写

wireshark lua脚本

python 逐行读取txt文件里的词, 并反复搜索 如何实现?