程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> 收集的多個ruby遍歷文件夾代碼實例

收集的多個ruby遍歷文件夾代碼實例

編輯:更多關於編程

       這篇文章主要介紹了收集的多個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

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved