从url打开文件,path包含通配符

时间:2011-08-13 06:56:09

标签: ruby-on-rails ruby

我可以用这样的通配符打开一个本地文件:

  require 'nokogiri'  
  require 'open-uri'
  Dir.glob(Rails.root.join("public/system/xmls/**/original/*.xml")).each do |path|
  File.open(path) do |f|      
  doc = Nokogiri::XML(f)
  #etc

但这当然不起作用:

  Dir.glob("https://s3-eu-west-1.amazonaws.com/foldername/xmlimports/**/*.xml").each do |path| #etc

1 个答案:

答案 0 :(得分:1)

URL不提供列出目录内容的标准化方法,因此不可能编写一个可用于任何URL的glob处理程序。你必须为这个特殊情况推出你自己的glob处理程序,或者依赖像wget之类的东西来镜像整个目录并在本地对文件进行全局化(但如果文件很大并且这是一个奇怪的方法和/或者你只需​​要处理其中的一小部分。)