• ruby Dir类


    类方法

    1. Dir[pat]

        Dir::glob( pat)

           返回一个数组,包含与指定的通配符模式 pat 匹配的文件名:

    • * - 匹配包含 null 字符串的任意字符串
    • ** - 递归地匹配任意字符串
    • ? - 匹配任意单个字符
    • [...] - 匹配封闭字符中的任意一个
    • {a,b...} - 匹配字符串中的任意一个
        
      # 获取当前目录中所有的文件名
      puts Dir.glob('*')
      
      # 获取当前目录中所有隐藏文件名
      puts Dir.glob('.*')
      
      # 获取当前目录中扩展名为.rb或者.txt的文件
      puts Dir.glob(['*.rb', '*.txt'])
      puts Dir.glob(%w(*.rb *.txt)) # 或者这样
      
      # 获取当前目录及其子目录下的所有文件, 递归查找目录
      puts Dir.glob('**/*')
      
      # 获取当前目录下所有后缀为.txt的文件名,递归查找目录
      puts Dir.glob('**/*.txt')

    2. Dir::chdir( path)
        改变当前目录。 

    puts Dir.pwd #=> D:/Program Files/RubyMine 2017.test.text.5/workspace/dir
    Dir.chdir('../') #=> 移动到上层路径
    puts Dir.pwd #=> D:/Program Files/RubyMine 2017.test.text.5/workspace
    io = File.open('test.rb') #=> 打开D:/Program Files/RubyMine 2017.test.text.5/workspace目录下的test.rb文件
    io.close

    3. Dir::getwd
        Dir::pwd

        返回当前目录

    4.  Dir::mkdir( path[, mode=0777])

      创建指定目录,可指定目录权限。如果创建失败则返回 SystemCallError 错误

    5. Dir::rmdir( path)

        Dir::unlink( path)

        Dir::delete( path)

        删除空的文件夹,如果文件夹内有文件,则会有 SystemCallError 崩溃

    6. Dir::new( path)
        Dir::open( path)
          Dir::open( path) {| dir| ...}

        返回 path 的新目录对象。如果 open 给出一个块,则新目录对象会传到该块,块会在终止前关闭目录对象

    # 目录内容的读取
    #test.text.while
    dir = Dir.open('./')
    while name = dir.read
      p name
    end
    dir.close
    
    # 2.each
    dir = Dir.open('./')
    dir.each do |name|
      p name
    end
    dir.close
    
    # 3.open(常用,使用该方法后可以省略close方法的调用)
    Dir.open('./') do |dir|
      dir.each do |name|
        p name
      end
    end

    7. Dir::foreach( path) {| f| ...}

        为 path 指定的目录中的每个文件执行一次块

    实例方法

  • 相关阅读:
    Elasticsearch入门讲解
    NLP入门(九)词义消岐(WSD)的简介与实现
    NLP入门(八)使用CRF++实现命名实体识别(NER)
    NLP入门(七)中文预处理之繁简体转换及获取拼音
    NLP入门(六) pyltp的介绍与使用 转自:jclian91
    NLP入门(五)用深度学习实现命名实体识别(NER) 转自:jclian91
    NLP入门(四)命名实体识别(NER):jclian91
    NLP(三)词形还原(Lemmatization) 转自jclian91
    NLP(二)探究TF-IDF的原理(转自:jclian91)
    NLP(一)词袋模型及句子相似度(转自:jclian91)
  • 原文地址:https://www.cnblogs.com/wf0117/p/9034133.html
Copyright © 2020-2023  润新知