收集的多个ruby遍历文件夹代码实例

 更新时间:2015年05月22日 10:19:34   投稿:junjie  
这篇文章主要介绍了收集的多个ruby遍历文件夹代码实例,本文总结了4个代码片段,小编推荐最后一个方法,因为它很简洁优雅,需要的朋友可以参考下

一、遍历文件夹下所有文件,输出文件名

复制代码 代码如下:

def traverse_dir(file_path)
    if File.directory? file_path
        Dir.foreach(file_path) do |file|
            if file !="." and file !=".."
                traverse_dir(file_path+"/"+file)
            end
        end
    else
        puts "File:#{File.basename(file_path)}, Size:#{File.size(file_path)}"
    end
end
traverse_dir('D:/apache-tomcat')

二、ruby遍历文件夹

复制代码 代码如下:

def get_file_list(path) 
  Dir.entries(path).each do |sub|        
    if sub != '.' && sub != '..' 
      if File.directory?("#{path}/#{sub}") 
        puts "[#{sub}]" 
        get_file_list("#{path}/#{sub}") 
      else 
        puts "  |--#{sub}" 
      end 
    end 
  end 
end

三、python如何遍历一个目录输出所有文件名

复制代码 代码如下:

#coding=utf-8
'''
Created on 2014-11-14
 
@author: Neo
'''
import os
 
def GetFileList(dir, fileList):
    newDir = dir
    if os.path.isfile(dir):
        fileList.append(dir.decode('gbk'))
    elif os.path.isdir(dir): 
        for s in os.listdir(dir):
            #如果需要忽略某些文件夹,使用以下代码
            #if s == "xxx":
                #continue
            newDir=os.path.join(dir,s)
            GetFileList(newDir, fileList) 
    return fileList
 
list = GetFileList('D:\\workspace\\PyDemo\\fas', [])
for e in list:
    print e

result:

复制代码 代码如下:

D:\workspace\PyDemo\fas\file1\20141113\a.20141113-1100.log
D:\workspace\PyDemo\fas\file1\20141113\a.20141113-1101.log
D:\workspace\PyDemo\fas\file1\20141113\a.20141113-1140.log
D:\workspace\PyDemo\fas\file2\20141113\a.20141113-1100.log
D:\workspace\PyDemo\fas\file2\20141113\a.20141113-1101.log
D:\workspace\PyDemo\fas\file2\20141113\a.20141113-1140.log

四、简洁遍历写法

复制代码 代码如下:

import os
 
def iterbrowse(path):
    for home, dirs, files in os.walk(path):
        for filename in files:
            yield os.path.join(home, filename)
 
 
for fullname in iterbrowse("/home/bruce"):
    print fullname

您可能感兴趣的文章:

相关文章

  • 比较不错的关于ruby的电子书下载地址集合

    比较不错的关于ruby的电子书下载地址集合

    比较不错的关于ruby的电子书下载地址集合...
    2007-10-10
  • Ruby语言建立Web服务器的过程详解

    Ruby语言建立Web服务器的过程详解

    这次选择的Web服务器是Nginx,Nginx非常适合处理静态资源,如图片、CSS和JS文件,通过减轻应用服务器的负担,Nginx使得Ruby on Rails应用能够更高效地运行,这篇文章主要介绍了Ruby语言建立Web服务器,需要的朋友可以参考下
    2024-06-06
  • Ruby on Rails中的ActiveResource使用详解

    Ruby on Rails中的ActiveResource使用详解

    这篇文章主要介绍了Ruby on Rails中的ActiveResource使用详解,主要用于HTTP和请求响应相关功能,需要的朋友可以参考下
    2015-08-08
  • ruby判断一个数是否为质数(素数)示例

    ruby判断一个数是否为质数(素数)示例

    这篇文章主要介绍了ruby判断一个数是否为质数(素数)示例,需要的朋友可以参考下
    2014-05-05
  • Ruby中使用SWIG编写ruby扩展模块实例

    Ruby中使用SWIG编写ruby扩展模块实例

    这篇文章主要介绍了Ruby中使用SWIG编写ruby扩展模块实例,SWIG是一种简化脚本语言与C/C++接口的开发工具,需要的朋友可以参考下
    2014-09-09
  • 几个Ruby小技巧分享

    几个Ruby小技巧分享

    这篇文章主要介绍了几个Ruby小技巧分享,本文讲解了代码块的序列调用、主要是说array在block中的使用、Hash#fetch、创建代码段的散列等小技巧,需要的朋友可以参考下
    2015-05-05
  • 使用Ruby on Rails和PostgreSQL自动生成UUID的教程

    使用Ruby on Rails和PostgreSQL自动生成UUID的教程

    这篇文章主要介绍了使用Ruby on Rails和PostgreSQL自动生成UUID的教程,主要利用到了PostgreSQL的插件uuid-ossp,需要的朋友可以参考下
    2015-04-04
  • 浅析Ruby中的类对象的概念

    浅析Ruby中的类对象的概念

    这篇文章主要介绍了Ruby中的类对象的概念,是Ruby学习当中的基础知识,需要的朋友可以参考下
    2015-05-05
  • 简单谈谈Ruby的private和protected

    简单谈谈Ruby的private和protected

    Ruby类下对访问控制的限制也是用public,protected和private来做的。虽然用的是和C++和Java相同的名字,但是Ruby下的protected和private定义还是有所不同的。
    2016-02-02
  • Windows下ruby语言安装教程

    Windows下ruby语言安装教程

    这篇文章主要介绍了Windows下ruby语言安装教程,本文使用rubyinstaller提供的安装包安装,并给出图文说明,非常简单,需要的朋友可以参考下
    2015-02-02

最新评论