디렉토리가 Ruby와 함께 있지 않은 경우 디렉토리 만들기
다음 코드로 디렉터리를 만들려고 합니다.
Dir.mkdir("/Users/Luigi/Desktop/Survey_Final/Archived/Survey/test")
unless File.exists?("/Users/Luigi/Desktop/Survey_Final/Archived/Survey/test")
그러나 다음 오류가 발생했습니다.
해당 파일 또는 디렉토리 없음 - /Users/Luigi/Desktop/Survey_Final/Archived/Survey/test(오류 번호:ENONT)
이 디렉터리가 에서 생성되지 않는 이유는 무엇입니까?Dir.mkdir
위의 진술?
중첩된 디렉토리를 작성하려고 할 수 있습니다.가정하면foo
존재하지 않습니다, 당신은 받게 될 것입니다.no such file or directory
오류:
Dir.mkdir 'foo/bar'
# => Errno::ENOENT: No such file or directory - 'foo/bar'
중첩된 디렉토리를 한 번에 작성하려면,FileUtils
필요:
require 'fileutils'
FileUtils.mkdir_p 'foo/bar'
# => ["foo/bar"]
편집2: 사용할 필요가 없습니다.FileUtils
시스템 호출을 수행할 수 있습니다(@mu로부터의 업데이트는 너무 짧은 설명입니다).
> system 'mkdir', '-p', 'foo/bar' # worse version: system 'mkdir -p "foo/bar"'
=> true
그러나 일부 시스템에서는 사용할 수 없는 외부 '도구'를 사용하는 것만큼 (적어도 내가 보기에는) 더 나쁜 접근 방식으로 보입니다.mkdir
하지만 누가 알겠어요).
간단한 방법:
directory_name = "name"
Dir.mkdir(directory_name) unless File.exists?(directory_name)
또 다른 간단한 방법:
Dir.mkdir('tmp/excel') unless Dir.exist?('tmp/excel')
그냥.Dir.mkdir('dir') rescue nil
?
언급URL : https://stackoverflow.com/questions/19280341/create-directory-if-it-doesnt-exist-with-ruby
'programing' 카테고리의 다른 글
값별 열거 이름 가져오기 (0) | 2023.06.06 |
---|---|
무료 모드버스로 여러 클라이언트 호스팅 (0) | 2023.06.06 |
UI 내비게이션 컨트롤러에 오른쪽 버튼을 추가하는 방법은 무엇입니까? (0) | 2023.06.06 |
데이터 테이블: 정의되지 않은 속성 'mData'를 읽을 수 없습니다. (0) | 2023.06.06 |
진행 대화 상자와 배경 스레드가 활성화되었을 때 화면 방향 변경을 처리하는 방법은 무엇입니까? (0) | 2023.06.06 |