루비로 파일에 쓰는 법?
데이터베이스에서 데이터를 읽은 다음 텍스트 파일로 저장해야합니다.
루비에서 어떻게 할 수 있습니까? Ruby에 파일 관리 시스템이 있습니까?
루비의 파일 클래스는 당신에게 기능과의 아웃 줄 것이다 ::new
및 ::open
하지만 부모의 IO 클래스 의 깊이에, 도착을 #read
하고 #write
.
다음을 찾고 있습니까?
File.open(yourfile, 'w') { |file| file.write("your text") }
짧은 버전을 사용할 수 있습니다.
File.write('/path/to/file', 'Some glorious content')
쓴 길이를 반환합니다. 자세한 내용과 옵션 은 :: write 를 참조하십시오.
파일이 이미 존재하는 경우 파일에 추가하려면 다음을 사용하십시오.
File.write('/path/to/file', 'Some glorious content', mode: 'a')
대부분의 경우이 방법이 선호됩니다.
File.open(yourfile, 'w') { |file| file.write("your text") }
블록이로 전달되면 블록이 File.open
종료 될 때 File 객체가 자동으로 닫힙니다.
에 블록을 전달하지 않으면 File.open
파일이 올바르게 닫히고 내용이 파일에 쓰여 졌는지 확인해야합니다.
begin
file = File.open("/tmp/some_file", "w")
file.write("your text")
rescue IOError => e
#some error occur, dir not writable etc.
ensure
file.close unless file.nil?
end
설명서 에서 찾을 수 있습니다 .
static VALUE rb_io_s_open(int argc, VALUE *argv, VALUE klass)
{
VALUE io = rb_class_new_instance(argc, argv, klass);
if (rb_block_given_p()) {
return rb_ensure(rb_yield, io, io_close, io);
}
return io;
}
File.open("out.txt", '<OPTION>') {|f| f.write("write your stuff here") }
옵션 <OPTION>
은 다음과 같습니다.
r
-읽기 전용 파일이 존재해야합니다.
w
-쓸 빈 파일을 만듭니다.
a
-파일에 추가 파일이 없으면 생성됩니다.
r+
-읽기와 쓰기 모두를 위해 파일을 엽니 다. 파일이 존재해야합니다.
w+
-읽고 쓰기위한 빈 파일을 만듭니다.
a+
-읽고 추가 할 파일을 엽니 다. 파일이 없으면 작성됩니다.
귀하의 경우에 w
바람직합니다.
모범을 통해 배우는 우리에게는 ...
다음과 같이 파일에 텍스트를 작성하십시오.
IO.write('/tmp/msg.txt', 'hi')
보너스 정보 ...
이렇게 다시 읽어
IO.read('/tmp/msg.txt')
자주 클립 보드로 파일을 읽고 싶습니다. ***
Clipboard.copy IO.read('/tmp/msg.txt')
그리고 다른 경우에는 클립 보드에있는 내용을 파일에 쓰고 싶습니다 ***
IO.write('/tmp/msg.txt', Clipboard.paste)
*** 클립 보드 젬이 설치되어 있다고 가정
참조 : https://rubygems.org/gems/clipboard
파일의 이전 내용을 삭제하려면 파일에 새 문자열을 작성하십시오.
open('myfile.txt', 'w') { |f| f << "some text or data structures..." }
이전 내용을 덮어 쓰지 않고 파일에 추가하려면
open('myfile.txt', "a") { |f| f << 'I am appended string' }
참고 URL : https://stackoverflow.com/questions/2777802/how-to-write-to-file-in-ruby
'Programing' 카테고리의 다른 글
Bash 스크립트에서 스크립트 파일 이름을 어떻게 알 수 있습니까? (0) | 2020.02.09 |
---|---|
사전에서 값으로 키 가져 오기 (0) | 2020.02.09 |
PostgreSQL : 텍스트와 varchar의 차이 (문자 변경) (0) | 2020.02.09 |
Chrome에서 HTTP 헤더를 보시겠습니까? (0) | 2020.02.09 |
시스템에서 RVM (Ruby Version Manager)을 어떻게 제거합니까? (0) | 2020.02.09 |