免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6900 | 回复: 3
打印 上一主题 下一主题

Ruby 获取某个目录下的所有文件及文件夹 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-02-03 17:31 |只看该作者 |倒序浏览
Ruby 获取某个目录下的所有文件及文件夹






通过Ruby的Find模块可以执行类似find命令,然后获得某个目录下的所有文件和文件夹列表。

Ruby代码
  1. 1.def scanf(path)   
  2. 2.  list=[]   
  3. 3.  Find.find(path) do |f|   
  4. 4.     list << f   
  5. 5.  end  
  6. 6.  list.sort   
  7. 7.end  
  8. def scanf(path)
  9.   list=[]
  10.   Find.find(path) do |f|
  11.      list << f
  12.   end
  13.   list.sort
  14. end
复制代码
按前缀进行合并:

Ruby代码
  1. 1.def mergePre(list)   
  2. 2.  res = []   
  3. 3.  newList = list.sort   
  4. 4.  newList.each do |i|   
  5. 5.    r = true  
  6. 6.    res.each do |j|   
  7. 7.      if i.index(j)==0   
  8. 8.        r = false  
  9. 9.        break  
  10. 10.      end  
  11. 11.    end  
  12. 12.    res << i if r   
  13. 13.  end  
  14. 14.  res   
  15. 15.end  
复制代码

论坛徽章:
0
2 [报告]
发表于 2012-02-03 17:32 |只看该作者
谢谢分享

论坛徽章:
0
3 [报告]
发表于 2012-02-08 13:30 |只看该作者
本帖最后由 NightKids 于 2012-02-08 13:30 编辑

获取某个目录下所有文件以及文件夹

  1. Dir["/tmp/**/*"]
复制代码
或只要所有 .rb文件

  1. Dir["/tmp/**/*.rb"]
复制代码

论坛徽章:
7
戌狗
日期:2013-12-15 20:43:38技术图书徽章
日期:2014-03-05 01:33:12技术图书徽章
日期:2014-03-15 20:31:17未羊
日期:2014-03-25 23:48:20丑牛
日期:2014-04-07 22:37:44巳蛇
日期:2014-04-11 21:58:0915-16赛季CBA联赛之青岛
日期:2016-03-17 20:36:13
4 [报告]
发表于 2012-02-08 18:25 |只看该作者
谢谢代码分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP