Ruby에서 대용량 파일을 읽고 다운로드하는 메모리 효율적인 방법
2457 단어 ruby
디스크에서 대용량 파일을 읽으려면
File.foreach
메서드는 파일을 한 줄씩 읽습니다. 그렇기 때문에 대용량 파일에 사용하는 것이 안전합니다.파일의 각 줄을 실행하기 위해 블록을 수락할 수 있습니다.
예시:
File.foreach('example.jsonl') { |line| JSON.parse(line) }
그러나 Ruby 문서에서는
File
클래스에 정의된 이 메서드를 찾을 수 없습니다. IO
의 슈퍼클래스인 File
에 정의되어 있습니다.인터넷에서 대용량 파일을 다운로드하려면
IO.copy_stream
을 사용하여 인터넷에서 대용량 파일을 다운로드할 수 있습니다. 쓰기 전에 전체 파일을 메모리에 로드하는 대신 스트림을 생성합니다.예시:
IO.copy_stream(open('http://example.com/file.jsonl'), 'file.jsonl')
그것을 요 약하기…
메모리 친화적인 방법:
File.foreach
, IO.copy_stream
파일을 읽는 다른 방법:
File.read
, File.readlines
Reference
이 문제에 관하여(Ruby에서 대용량 파일을 읽고 다운로드하는 메모리 효율적인 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/tannakartikey/memory-efficient-way-of-reading-and-downloading-a-large-file-in-ruby-4b8i텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)