Ruby脚本可以';找不到CSV文件

Ruby脚本可以';找不到CSV文件,ruby,Ruby,我有一个用Ruby编写的简单爬虫程序,它可以对特定站点进行爬网,并将数据保存到CSV文件中,但是,当从Windows命令行运行它时,我遇到以下错误: C:/Ruby24-x64/lib/ruby/2.4.0/csv.rb:1282:in `initialize': No such file or directory @ rb_sysopen - csv/boxers.csv (Errno::ENOENT) from C:/Ruby24-x64/lib/ruby/2.4.0/csv.rb:

我有一个用Ruby编写的简单爬虫程序,它可以对特定站点进行爬网,并将数据保存到CSV文件中,但是,当从Windows命令行运行它时,我遇到以下错误:

C:/Ruby24-x64/lib/ruby/2.4.0/csv.rb:1282:in `initialize': No such file or directory @ rb_sysopen - csv/boxers.csv (Errno::ENOENT)
    from C:/Ruby24-x64/lib/ruby/2.4.0/csv.rb:1282:in `open'
    from C:/Ruby24-x64/lib/ruby/2.4.0/csv.rb:1282:in `open'
    from boxers.rb:18:in `<main>'

见“”。我们帮不上什么忙,因为我们无法看到您的磁盘,您也没有告诉我们足够的信息。您是否检查过“csv”目录是否存在?您是否有权限在该目录中写入和创建文件?将问题中的代码减少到演示问题所需的最低限度。可能性很高,这意味着这只是
打开
语句。如前所述,代码应该在本地目录的“csv”子目录中创建“file.csv”。如果“csv”不存在,它将不会被创建,代码将失败,并显示一条消息,如您收到的消息。我建议使用
open
的块形式,以便在块退出后自动关闭文件。并且,如图所示,代码将失败,因为有一个额外的尾随
end
语句。修复这个问题,因为它是一个语法错误,是结束问题的原因。修复了这个问题,只是我的疏忽(应该称为csv的文件夹被称为cvs)。谢谢你的回复。
#!/usr/bin/env ruby

require 'csv'
require 'mechanize'

agent = Mechanize.new{ |agent| agent.history.max_size=0 }
agent.user_agent = 'Mozilla/5.0'

base = "http://baseurl.com/"

division = ARGV[0]

search_url = "http://baseurl.com/ratings.php?sex=M&division=#{division}&pageID="

path='//*[@id="mainContent"]/table/tr[position()>2]'

boxers = CSV.open("csv/file.csv","w")

url = search_url+"1"

begin
  page = agent.get(url)
rescue
  print "  -> error, retrying\n"
  retry
end


end

boxers.close