代码之家  ›  专栏  ›  技术社区  ›  Sean Clark Hess

Ruby-从目录中获取文件,不列出所有内容

  •  0
  • Sean Clark Hess  · 技术社区  · 14 年前

    我使用split linux命令将大型XML文件拆分为节点大小的文件。现在的问题是,我的目录中有数十万个文件。

    我想要一种方法从目录中获取文件(传递到另一个进程以导入到我们的数据库中),而不需要列出其中的所有内容。是这样吗? Dir.foreach 已经工作了?还有其他想法吗?

    1 回复  |  直到 14 年前
        1
  •  3
  •   Peter    14 年前

    你可以使用 Dir.glob 找到你需要的文件。更多细节 here 但基本上,你通过一个模式 Dir.glob 'dir/*.rb' 并返回与该模式匹配的文件名。我认为这是以一种相当好的方式完成的,但这将取决于您的平台和实现。

    至于 Dir.foreach ,这也应该是有效的-如果它必须为循环中的每一次传递处理整个目录,那么就需要考虑这个问题。但这将是糟糕的实施,事实并非如此。