广州明生堂生物科技有限公司


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

网络编程 收集的多个ruby遍历文件夹代码实例 06-21

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

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:workspacePyDemofasfile120141113a.20141113-1100.log

D:workspacePyDemofasfile120141113a.20141113-1101.log

D:workspacePyDemofasfile120141113a.20141113-1140.log

D:workspacePyDemofasfile220141113a.20141113-1100.log

D:workspacePyDemofasfile220141113a.20141113-1101.log

D:workspacePyDemofasfile220141113a.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常用文件操作方法
一、新建文件f=File.new(File.join("C:","Test.txt"),"w+")f.puts("IamJack")f.puts("HelloWorld")文件模式"r":Read-only.Startsatbeginningoffile(defaultmode)."r+":Read-write.Startsatbeginningof

Ruby实现的最优二叉查找树算法
算法导论上的伪码改写而成,加上导论的课后练习第一题的解的构造函数。#encoding:utf-8=beginauthor:xujindate:Nov11,2012OptimalBinarySearchTreetofindbyusingEditDistancealgor

Ruby实现的最短编辑距离计算方法
利用动态规划算法,实现最短编辑距离的计算。#encoding:utf-8#author:xujin#date:Nov12,2012#EditDistance#tofindtheminimumcostbyusingEditDistancealgorithm#exampleoutput:#"Pleaseinputast


编辑:广州明生堂生物科技有限公司

标签:遍历,文件,算法,文件夹,导论