手机
当前位置:查字典教程网 >脚本专栏 >ruby专题 >收集的多个ruby遍历文件夹代码实例
收集的多个ruby遍历文件夹代码实例
摘要:一、遍历文件夹下所有文件,输出文件名复制代码代码如下:deftraverse_dir(file_path)ifFile.directory&...

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

复制代码 代码如下:

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:workspacePyDemofas', [])

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遍历文件夹代码实例】相关文章:

Ruby中遍历目录的简洁方法

Ruby中字符串左侧补零方法实例

Ruby一行代码实现的快速排序

Ruby的25个编程细节(技巧、实用代码段)

Ruby进行文件信息输出实例代码

Ruby实现的一个强大的批量删除文件脚本分享

Ruby中操作文件的方法介绍

ruby实现的文件自删除代码分享

ruby on rails 代码技巧

ruby元编程实际使用实例

精品推荐
分类导航