Tout d’abord, je voudrais dire que je suis nouveau à Ruby et que si je ne parviens pas à vous donner une bonne image de ce que j’essaie de résoudre, c’est la raison.
J'essaie de convertir les URL en images et j'aiJ'ai cherché des réponses mais je n'arrive pas à trouver une réponse qui me convienne. Le fichier contient environ 70 000 liens et je tente également de les nommer en même temps. J'utilise ruby 2.3.0 si cela est pertinent.
Code -
require "open-uri"
require "tempfile"
require "uri"
require "csv"
def downloadFile(path,url)
begin
open(path, "wb+") do |file|
file << open(url).read
end
return true
rescue
return false
end
end
puts Dir.pwd
CSV.foreach("C/Users/b40ssr/RubymineProjects/Bygma/convert/konvertera.CSV", headers:true) do |row|
downloadFile(row[0], row[1])
end
Donc, l'erreur que je reçois est C:/Ruby23/lib/ruby/2.3.0/csv.rb:1265:in `initialize": Aucun fichier ou répertoire de ce type @ rb_sysopen - C / Utilisateurs / b40ssr / RubymineProjects / Bygma / convert / konvertera.CSV (Errno :: ENOENT )
Je comprends qu'il y a quelque chose qui ne va pas dans le répertoire, mais je n'arrive pas à comprendre ce que c'est.
Réponses:
0 pour la réponse № 1Tout d’abord, vous pouvez utiliser le chemin relatif ou simplement utiliser "C: /"
Deuxièmement, vous essayez d'ouvrir chaque ligne du fichier CSV?
CSV.foreach ("C / Utilisateurs / b40ssr / RubymineProjects / Bygma / convert / konvertera.CSV"). Cela va parcourir chaque ligne du fichier CSV. Voulez-vous ouvrir chaque fichier CSV dans un répertoire?