Ruby에서 파일을 만드는 방법
새 파일을 만들려고 하는데 예상대로 작동하지 않는 것 같습니다.제가 시도한 것은 다음과 같습니다.
File.new "out.txt"
File.open "out.txt"
File.new "out.txt","w"
File.open "out.txt","w"
제가 온라인에서 읽은 모든 것에 따르면 모든 것이 작동해야 하지만 모든 것이 제게 다음과 같은 것을 제공합니다.
ERRNO::ENOENT: No such file or directory - out.txt
이는 IRB 및 Ruby 스크립트에서 발생합니다.제가 무엇을 빠뜨리고 있나요?
사용:
File.open("out.txt", [your-option-string]) {|f| f.write("write your stuff here") }
옵션은 다음과 같습니다.
r
읽기 전용.파일이 있어야 합니다.w
쓰기 위한 빈 파일을 만듭니다.a
파일에 추가합니다.파일이 없는 경우 파일이 만들어집니다.r+
읽기 및 쓰기 모두를 업데이트하기 위해 파일을 엽니다.파일이 있어야 합니다.w+
읽기와 쓰기 모두에 사용할 빈 파일을 만듭니다.a+
읽고 추가할 파일을 엽니다.파일이 없는 경우 파일이 만들어집니다.
당신의 경우에는,'w'
선호합니다.
아니면 당신은 다음을 가질 수 있습니다.
out_file = File.new("out.txt", "w")
#...
out_file.puts("write your stuff here")
#...
out_file.close
해라
File.open("out.txt", "w") do |f|
f.write(data_you_want_to_write)
end
를 사용하지 않고
File.new "out.txt"
사용해 보십시오."w+"
단순히 쓰기 모드가 아닌 쓰기 모드로"w"
:
File.open("out.txt", "w+") { |file| file.write("boo!") }
좋아요, 이제 바보 같은 기분이 들어요.처음 두 개는 확실히 작동하지 않지만, 두 번째 두 개는 작동합니다.내가 그것들을 먹어봤다고 스스로를 어떻게 확신시켰는지 잘 모르겠습니다.모두의 시간을 낭비해서 죄송합니다.
이것이 다른 사용자에게 도움이 되는 경우, 존재하지 않는 디렉토리에 새 파일을 만들 때 발생할 수 있습니다.
파일을 만드는 것이 목적이라면 가장 직접적인 방법은 다음과 같습니다.
FileUtils.touch "foobar.txt"
File.new
그리고.File.open
읽기 모드로 기본 설정('r'
파일을 덮어쓰지 않도록 안전 메커니즘으로 사용할 수 있습니다.우리는 Ruby에게 쓰기 모드를 사용하라고 명시적으로 말해야 합니다 ('w'
파일로 출력하려면 가장 일반적인 방법입니다.
출력할 텍스트가 다음과 같이 쓰는 대신 문자열인 경우:
File.open('foo.txt', 'w') { |fo| fo.puts "bar" }
또는 그 이상:
fo = File.open('foo.txt', 'w')
fo.puts "bar"
fo.close
보다 간결하게 사용write
:
File.write('foo.txt', 'bar')
write
사용할 수 있는 모드가 있습니다.'w'
,'a'
,'r+'
필요하면.
open
블록을 사용하면 반복 루프에서 출력을 계산해야 하고 파일을 열어두고 싶을 때 유용합니다. write
한 번에 콘텐츠를 출력한 다음 파일을 닫을 경우 유용합니다.
자세한 내용은 설명서를 참조하십시오.
디렉터리가 없습니다.다음과 같이 존재하는지 확인합니다.open
당신을 위해 그 dir들을 만들지 않을 것입니다.
저도 얼마 전에 이런 일을 겪었습니다.
data = 'data you want inside the file'.
사용할 수 있습니다.File.write('name of file here', data)
문자열 대신 상수를 사용하여 원하는 모드를 지정할 수도 있습니다.상수 이름으로 오타를 만들면 프로그램에서 런타임 예외가 발생합니다.
는 상는다 같과습 다니음수입니다.File::RDONLY
또는File::WRONLY
또는File::CREAT
원한다면 그것들을 결합할 수도 마찬가지입니다.
ruby-doc.org 의 파일 열기 모드에 대한 자세한 설명
언급URL : https://stackoverflow.com/questions/7911669/how-to-create-a-file-in-ruby
'programing' 카테고리의 다른 글
python의 멀티프로세싱 풀에서 키보드 인터럽트 (0) | 2023.06.18 |
---|---|
중복된 행 제거 (0) | 2023.06.18 |
파이썬에서 모니터 해상도를 얻으려면 어떻게 해야 합니까? (0) | 2023.06.18 |
여러 열을 함께 붙여넣기 (0) | 2023.06.18 |
스토어 게터를 기준으로 조건부로 b-테이블 열 표시/숨기기 (0) | 2023.06.18 |