`
flowercat
  • 浏览: 362303 次
社区版块
存档分类
最新评论

Ruby遍历目录

阅读更多
   编辑们在开发过程中收集了很多的文本内容,内容按类别存放在多级目录中。需要将收集的内容导入数据库,应此需要遍历目录。用java实现了该功能。
   学了ruby后,拿这个需求练手了
   代码如下:
require 'pathname'


def walk_dir(path_str)
  path = Pathname.new(path_str)
  path.children.each do |entry|
    if entry.directory?
      walk_dir(entry) {|x| yield(x)}
    elsif entry.file?
      yield entry
    end
  end
end

walk_dir('f:/resource'){|f| puts f}
分享到:
评论

相关推荐

    Ruby中遍历目录的简洁方法

    在Ruby编程语言中,遍历目录是常见的任务,特别是在处理文件系统操作时。本文将深入探讨两种简洁的遍历目录的方法,并提供相关的编程知识。 首先,我们来看一下在Ruby中自定义遍历目录的方法。在给出的`traverse.rb...

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

    ### Ruby遍历文件夹知识点详解 #### 一、遍历文件夹下所有文件,输出文件名 该示例代码展示了如何使用Ruby递归地遍历指定路径下的所有文件,并输出每个文件的基本信息(如文件名和文件大小)。 **代码详解:** `...

    Ruby遍历文件夹同时计算文件的md5sum

    这个函数将递归地遍历目录中的所有子目录和文件,并计算每个文件的MD5值。 在函数内部,我们创建了一个名为`md5s`的空数组,用于存储每个文件的MD5摘要和文件名。然后,我们使用`File.directory?(path)`检查传入的`...

    遍历输入的目录

    Ruby的`Dir`类有`foreach()`方法,可以遍历目录。`Dir.glob("**/*", File::FNM_DOTMATCH)`将返回包括隐藏文件在内的所有文件和目录。 7. **Bash Shell Scripting**: 在Shell脚本中,`find`命令是遍历目录的强大...

    ruby 目录操作详细介绍

    这些方法在遍历目录时非常有用。 11. 文件属性写入 Ruby允许更改文件的一些属性,如权限、所有权等,这通常涉及`chmod`、`chown`等方法。 12. 枚举文件夹中的文件 `Dir.glob`可以用来枚举目录下的所有文件和子目录...

    遍历文件夹并建成目录树

    在Java中,可以使用`java.io.File`类的`listFiles()`方法和递归来遍历目录树: ```java import java.io.File; public void traverseDirectory(File dir) { File[] files = dir.listFiles(); if (files != ...

    dio:Dio-深入对象-Ruby模式匹配接口,适用于尚无对象的对象

    Dio或“ Dive Into Objects”(Dive Into Objects)是用于Ruby对象的包装器,这些对象没有定义模式匹配接口,但是具有使它们能够实现其近似的方法: Dio [ 1 ] in { succ : { succ : { succ : 4 } } }# => true ...

    The Ruby Way(处理文件和目录)

    **遍历目录**: `Dir.glob`和`Dir.entries`等方法用于遍历目录中的文件和子目录。 ```ruby # 遍历当前目录下的所有文件 Dir.glob("*").each do |file| puts file end # 遍历包含隐藏文件的所有条目 Dir.entries("....

    ruby文件操作,简单ppt

    Ruby 通过 `Find` 模块提供了一种便利的方式来遍历目录树中的文件。例如: ```ruby require 'find' Find.find("F:/ruby") do |filename| puts filename end ``` 以上就是关于 Ruby 文件操作的基本介绍。通过学习...

    文件夹遍历

    在Ruby中,你可以自定义一个递归函数来遍历目录及其子目录中的所有文件。这种方法直观地模拟了树形结构的遍历过程,对于理解和操作文件系统非常有帮助。 ```ruby def traverse_dir(file_path, &block) if File....

    Ruby语言开发教程与案例.zip

    3. **文件操作**:Ruby提供强大的文件和目录操作API,案例可能包括读写文件,遍历目录,或者处理文件系统事件。 4. **测试驱动开发**:Ruby有强大的测试框架如RSpec和Minitest,案例可能展示了如何编写单元测试和...

    Programming Ruby 1.9 (3rd edition)和源码

    - 范围(Range):表示一个数值范围,支持遍历操作。 4. **控制结构**: - 条件语句:`if`、`unless`、`case`等用于条件判断。 - 循环:`for`、`while`、`until`、`times`和`loop`等。 - 例外处理:`begin`、`...

    ruby复制文件夹

    # 然后通过Find.find遍历源目录src的所有子目录和文件,创建目标目录tar中的相应结构 # ... end end ``` 在这个方法中,`Cz_dirtools`模块定义了一个名为`mkdirs_to`的方法。这个方法接受两个参数:`tar`是目标...

    ruby_quiz.rar

    4. **文件和目录操作**:Ruby提供了丰富的内建库用于处理文件和目录,学习如何在Ruby中读写文件、遍历目录结构对于解决问题至关重要。 5. **集合操作**:Ruby的数组和哈希提供了多种高效的操作,如映射、过滤、归并...

    Ruby设计模式(中文版+英文版).pdf

    本书以通俗易懂的方式介绍了Ruby设计模式,主要包括Ruby概述、使用模板方法变换算法、使用策略替换算法、通过观察器保持协调、通过迭代器遍历集合、使用命令模式完成任务、使用适配器填补空隙、使用装饰器改善对象、...

    Ruby完全自学手册光盘里的源代码

    8. 文件操作:Ruby提供了方便的文件I/O操作,源代码可能会包含读写文件、目录管理等例子。 9. 标准库和Gem:Ruby拥有丰富的标准库和第三方Gem库,源代码可能会引用这些资源,展示如何利用它们扩展功能。 10. 测试...

    ruby收取邮件实例

    在邮件处理部分,代码遍历了邮件列表,对每封邮件进行了处理并保存到本地: ```ruby i = 0 pop.each_mail do |m| File.open("inbox/#{i}.txt", 'w') do |f| m.pop do |trunk| f.write trunk end end i += 1 ...

    Ruby语言教程和经典案例

    - **文件和目录操作**:编写脚本来读取文件内容、遍历目录树等,这些都是日常开发中常见的需求。 #### 学习资源 为了更深入地学习Ruby,可以参考以下资源: - **官方文档**:Ruby官网提供了详尽的官方教程和API...

    pdf-page-count:一个命令行应用程序,它将计算多个或单个PDF中的页面数。 它可以递归地遍历多个目录并汇总总页数

    它可以递归地遍历多个目录并汇总总页数。 启用详细输出以查看每个单独的PDF的页数。 安装 推荐的安装方法是通过Rubygems。 gem install pdf-page-count 用法 Usage: pdf-page-count [options] [file/path] ...

Global site tag (gtag.js) - Google Analytics