【Lua】关于遍历指定路径下所有目录及文件
2014-11-18 22:41
519 查看
关于Lua中如何遍历指定文件路径下的所有文件,需要用到Lua的lfs库。
首先创建一个temp.lua文件,用编辑器打开:
要使用lfs库,首先需要把lfs库加载进来
随后创建一个函数,用来遍历指定路径下的所有文件,这里我们需要用到lfs库中的lfs.dir()方法和lfs.attributes(f)方法。
lfs.dir(path)
可以返回一个包含path内所有文件的字符串,如果该路径不是一个目录,则返回一个错误。可以用
来取得路径内的各文件名
lfs.attributes(filepath)
返回filepath的各种属性,包括文件类型、大小、权限等等信息
有了这两个方法,就可以来遍历指定路径下的所有文件了:
输出:
首先创建一个temp.lua文件,用编辑器打开:
要使用lfs库,首先需要把lfs库加载进来
require("lfs")
随后创建一个函数,用来遍历指定路径下的所有文件,这里我们需要用到lfs库中的lfs.dir()方法和lfs.attributes(f)方法。
lfs.dir(path)
可以返回一个包含path内所有文件的字符串,如果该路径不是一个目录,则返回一个错误。可以用
for file in lfs.dir(path) do print(file) end
来取得路径内的各文件名
lfs.attributes(filepath)
返回filepath的各种属性,包括文件类型、大小、权限等等信息
require("lfs") function attrdir(path) for file in lfs.dir(path) do if file ~= "." and file ~= ".." then local f = path .. "/" .. file local attr = lfs.attributes(f) print (f) for name, value in pairs(attr) do print (name, value) end end end end attrdir("/var/www/tmp/css")
有了这两个方法,就可以来遍历指定路径下的所有文件了:
require"lfs" function attrdir(path) for file in lfs.dir(path) do if file ~= "." and file ~= ".." then //过滤linux目录下的"."和".."目录 local f = path.. '/' ..file local attr = lfs.attributes (f) if attr.mode == "directory" then print(f .. " --> " .. attr.mode) attrdir(f) //如果是目录,则进行递归调用 else print(f .. " --> " .. attr.mode) end end end end attrdir(".")
输出:
相关文章推荐
- 分享下java 读取目录及子目录下指定文件名的路径 并放到一个List数组里面返回遍历和写到文件里
- 根据路径遍历目录下所有文件File类
- C# winfrom遍历指定目录下的所有文件,并删除指定文件
- 一个遍历指定目录下所有文件的例子
- 遍历当前目录下所有的.h文件,并将其路径保存到文件中
- 在Asp.net中如何遍历一个本地目录下的所有文件并上载到Web 服务器上指定的目录中
- 续:C# 趣味小程序(4)——遍历特定目录及其子目录 (应用实例,压缩指定目录下的所有文件)
- MFC遍历指定目录下的所有文件/文件夹(不遍历子目录)
- Asp.net 获取指定目录下的后缀名为".doc" 的所有文件名和文件路径
- C#.NET中遍历指定目录下的文件(及所有子目录及子目录里更深层目录里的文件)
- 递归遍历所有指定目录中的文件及子文件夹中的文件
- Linux C :遍历输出指定目录下的所有文件
- 遍历指定目录下的所有目录和文件的php代码
- php 遍历指定路径所有目录与文件夹
- C#取得指定路径下所有目录及文件名称
- Linux C :遍历输出指定目录下的所有文件
- 取得指定路径下所有目录及文件名称(递归)
- 遍历目录下所有各级子目录文件的全路径
- Linux C :遍历输出指定目录下的所有文件
- VC++遍历指定目录下的所有文件