루비에서 파일을 만드는 방법
새 파일을 만들려고하는데 파일이 예상대로 작동하지 않는 것 같습니다. 내가 시도한 것은 다음과 같습니다.
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에서도 발생합니다. 내가 무엇을 놓치고 있습니까?
사용하다:
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!") }
좋아, 이제 바보 같아 처음 두 가지는 작동하지 않지만 두 번째는 작동합니다. 내가 시도했다고 스스로를 어떻게 확신했는지 잘 모르겠습니다. 모두의 시간을 낭비해서 죄송합니다.
이것이 다른 사람에게 도움이되는 경우 존재하지 않는 디렉토리에 새 파일을 만들려고 할 때 발생할 수 있습니다.
디렉토리가 존재하지 않습니다. open
해당 디렉토리를 생성하지 않으므로 존재하는지 확인하십시오 .
나는이 문제를 잠시 동안 만났다.
File.new
및 File.open
(읽기 모드로 기본 설정 'r'
파일을 덮어 쓰기 가능 피하기 위해, 안전 메커니즘으로). 'w'
파일로 출력 하려면 쓰기 모드를 사용하도록 Ruby에 명시 적으로 알려야합니다 ( 가장 일반적인 방법 임).
출력 할 텍스트가 쓰기가 아닌 문자열 인 경우 :
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
한 번에 컨텐츠를 출력 한 다음 파일을 닫을 경우 유용합니다.
자세한 내용 은 설명서 를 참조하십시오.
목표가 파일을 만드는 것이라면 가장 직접적인 방법은 다음과 같습니다.
FileUtils.touch "foobar.txt"
문자열 대신 상수를 사용하여 원하는 모드를 지정할 수도 있습니다. 상수 이름으로 오타를 만들면 프로그램에서 런타임 예외가 발생합니다.
상수는 File::RDONLY
또는 File::WRONLY
나 File::CREAT
. 원하는 경우 조합 할 수도 있습니다.
ruby-doc.org의 파일 열기 모드에 대한 전체 설명
참고URL : https://stackoverflow.com/questions/7911669/how-to-create-a-file-in-ruby
'IT' 카테고리의 다른 글
android TextView : 배경색을 동적으로 설정하면 작동하지 않습니다. (0) | 2020.06.03 |
---|---|
올바른 방법보다 인터페이스에 더 많은 것이 있습니까? (0) | 2020.06.03 |
iOS 7에서 UIButton 이미지를 설정하면 파란색 버튼이 나타납니다. (0) | 2020.06.03 |
log4j 로깅 계층 순서 (0) | 2020.06.03 |
Pythons glob.glob는 어떻게 주문됩니까? (0) | 2020.06.03 |