我有这个ruby代码,它从Internet获取xml文件并保存。它将它保存到当前目录,但是想将它保存到specfik目录。我该怎么做?
require 'rubygems'
require 'nokogiri'
require 'open-uri'
base_url = 'SOME-URL'
extension = '.xml'
# the specfik dir
xml_dir = '/Users/admin/Documents/Projects/files/xmlfolder'
Nokogiri::HTML(open(base_url)).xpath("//a/@href").each do |src|
File.open(File.basename(src.value, File.extname(src.value)) + extension,'wb'){ |f|
f.write(open(src.value).read)
}
puts "Done with: #{base_url}"
end
答案 0 :(得分:0)
确定xml_dir
后,将您的写入包装在Dir :: chdir块中,如下所示:
Dir.chdir(xml_dir) do
f.write # ...
end
或者在File.open
调用中构建绝对路径而不是部分路径。