我需要从Lua中的目录中获取文件名。
我不想使用require "lfs"
。
使用popen / open会很有帮助。
答案 0 :(得分:4)
具体而言,可以修改以下内容以执行您想要的操作:
local dircmd = "find . -type f -print" -- default to Unix
if string.sub(package.config,1,1) == '\\' then
-- Windows
dircmd = "dir /b/s"
end
os.execute(dircmd .. " > zzfiles")
local luafiles = {}
for f in io.lines("zzfiles") do
if f:sub(-4) == ".lua" then
luafiles[#luafiles+1] = f
end
end
print(table.concat(luafiles, "\n"))
答案 1 :(得分:0)
使用the lua wiki中的shell函数。作为命令(c)传递“ls / path / 模式”(假设你在unix中或者在运行windows时安装了cygwin)。