从Lua目录中获取文件名

时间:2011-04-07 18:09:16

标签: lua

我需要从Lua中的目录中获取文件名。

我不想使用require "lfs"

使用popen / open会很有帮助。

2 个答案:

答案 0 :(得分:4)

请参阅this entry on lua-list

具体而言,可以修改以下内容以执行您想要的操作:

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)。