programing

Ruby에서 파일을 만드는 방법

megabox 2023. 6. 18. 12:30
반응형

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

반응형