2016-06-23 2 views
0

우선 저는 Ruby에 익숙하지 않습니다. 만약 내가 당신에게 내가 풀려고하는 것에 대한 좋은 그림을 줄 수 없다면, 그것이 이유입니다.그런 파일이나 디렉토리가 없습니다. @ rb_sysopen ruby와 csv

URL을 이미지로 변환하려고하는데 답변을 둘러 보았지만 나에게 맞는 답변을 찾을 수없는 것 같습니다. 이 파일에는 약 70,000 개 이상의 링크가 있으며이 파일의 이름을 동시에 지정하려고합니다. 루비 2.3.0 관련이 있다면 사용하고 있습니다.

코드 -

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 

그래서 내가지고있어 오류가 C입니다 : /Ruby23/lib/ruby/2.3.0/csv.rb : 1265 : '초기화'에서 : 그런 파일 또는 디렉토리 @ rb_sysopen - C/Users/b40ssr/RubymineProjects/Bygma/convert/konvertera.CSV (Errno :: ENOENT)

나는이 디렉토리에 문제가 있음을 알고 있지만 그게 뭔지 알아내는 것 같다. 입니다. 당신은 CSV 파일의 각 행을 열려고하는

둘째 ?? : 모든

+2

오류는 무엇이 원인인지 알려줍니다. 지정한 이름의 파일이나 디렉토리가 없으므로 아무 것도 열 수 없습니다. –

+0

그러나 폴더의 dir을 클릭하면 .CSV 결말을 제외하고 코드의 DIR과 같습니다. C : \ Users \ b40ssr \ RubymineProjects \ Bygma \ convert –

+0

파일이 실제로 .csv 파일입니까? 명령 줄에서 그 위치로 가서'dir' 또는 (유닉스 시스템에서)'ls'를 입력하십시오. –

답변

0

첫째, 당신은 상대 경로를 사용하거나 그냥 "/ C"를 사용할 수 있습니다

CSV.foreach ("C/Users/b40ssr/RubymineProjects/Bygma/convert/konvertera.CSV"). 이렇게하면 CSV 파일의 각 행을 반복합니다. 디렉토리 안에 각 CSV 파일을 열시겠습니까 ??

관련 문제