lua随机返回目录下的一个文件path

2016.10.05 20:38 Wed| 158 visits 问题&解决方案| Text

问题

新插件需要随机的返回指定目录下的某个图片文件,现在是lua的实现方法。实际上还是依托于shell有点low。记录之。

code

function randompic( path )
    math.randomseed(os.time())
    math.random(1,getfilesnum( path ))
    local cmd = "ls "..path.." | sed -n "..math.random(1,getfilesnum( path )).."p"
    local s = io.popen(cmd)
    local file= s:read("*a")
    s:close()
    return file
end

function getfilesnum( path )
    local cmd = "ls "..path.." | wc -l"
    local s = io.popen(cmd)
    local nums = s:read("*a")
    s:close()
    return nums

end