源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-01-29 14:02 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:收集的多个ruby遍历文件夹代码实例
[b]一、遍历文件夹下所有文件,输出文件名[/b]
[u]复制代码[/u] 代码如下:
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')
[b]二、ruby遍历文件夹[/b]
[u]复制代码[/u] 代码如下:
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
[b]三、python如何遍历一个目录输出所有文件名[/b]
[u]复制代码[/u] 代码如下:
#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:
[u]复制代码[/u] 代码如下:
D:\workspace\PyDemo\fas\file1\20141113\a.20141113-1100.log D:\workspace\PyDemo\fas\file1\20141113\a.20141113-1101.log D:\workspace\PyDemo\fas\file1\20141113\a.20141113-1140.log D:\workspace\PyDemo\fas\file2\20141113\a.20141113-1100.log D:\workspace\PyDemo\fas\file2\20141113\a.20141113-1101.log D:\workspace\PyDemo\fas\file2\20141113\a.20141113-1140.log
[b]四、简洁遍历写法[/b]
[u]复制代码[/u] 代码如下:
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
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部