收集的多个ruby遍历文件夹代码实例_ruby专题教程-查字典教程网
收集的多个ruby遍历文件夹代码实例
收集的多个ruby遍历文件夹代码实例
发布时间:2016-12-28 来源:查字典编辑
摘要:一、遍历文件夹下所有文件,输出文件名复制代码代码如下: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专题学习
    脚本专栏子分类