当前位置 博文首页 > 收集的多个ruby遍历文件夹代码实例

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

    作者:admin 时间:2021-02-07 06:23

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

    复制代码 代码如下:

    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

    js
    下一篇:没有了