收集的多个ruby遍历文件夹代码实例
一、遍历文件夹下所有文件,输出文件名
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
标签:遍历,文件,算法,文件夹,导论