欢迎来到山村网

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

2019-03-02 13:13:16浏览:118 来源:山村网   
核心摘要:  这篇文章主要介绍了收集的多个ruby遍历文件夹代码实例,本文总结了4个代码片段,小编推荐最后一个方法,因为它很简洁优雅,需要

  这篇文章主要介绍了收集的多个ruby遍历文件夹代码实例,本文总结了4个代码片段,小编推荐最后一个方法,因为它很简洁优雅,需要的朋友可以参考下

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

   代码如下:

  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遍历文件夹同时计算文件的md5sum

上一篇:

Ruby常用文件操作方法

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com