반응형
Ruby에서 재귀 적으로 디렉토리를 만드는 방법은 무엇입니까?
파일을 /a/b/c/d.txt로 저장하고 싶지만 이러한 디렉토리가 존재하는지 여부를 모르고 필요한 경우 재귀 적으로 만들어야합니다. 루비에서 어떻게 할 수 있습니까?
사용 mkdir_p
:
FileUtils.mkdir_p '/a/b/c'
는 _p
당신은 또한 별칭을 사용할 수 있습니다 부모 / 경로에 대한 유닉스 홀드 오버입니다 mkpath
그것은 당신을 위해 더 의미합니다.
FileUtils.mkpath '/a/b/c'
Ruby 1.9에서는 FileUtils가 코어에서 제거되었으므로 require 'fileutils'
.
mkdir_p를 사용하여 재귀 적으로 디렉토리 생성
path = "/tmp/a/b/c"
FileUtils.mkdir_p(path) unless File.exists?(path)
unixy 머신에서 실행중인 경우 백틱에 넣어 루비에서 쉘 명령을 실행할 수 있다는 것을 잊지 마십시오.
`mkdir -p /a/b/c`
require 'ftools'
구출 경로명 !
Pathname('/a/b/c/d.txt').dirname.mkpath
자신의 논리를 사용할 수도 있습니다.
def self.create_dir_if_not_exists(path)
recursive = path.split('/')
directory = ''
recursive.each do |sub_directory|
directory += sub_directory + '/'
Dir.mkdir(directory) unless (File.directory? directory)
end
end
따라서 경로가 'tmp / a / b / c'이면 'tmp'가 존재하지 않으면 'tmp'가 생성되고 'tmp / a /'등이 생성됩니다.
참고 URL : https://stackoverflow.com/questions/3686032/how-to-create-directories-recursively-in-ruby
반응형
'programing tip' 카테고리의 다른 글
angularjs 1.6.0 (현재 최신) 경로가 작동하지 않음 (0) | 2020.08.25 |
---|---|
Subversion / TortoiseSVN에서 삭제 된 폴더를 "삭제 취소"하는 방법은 무엇입니까? (0) | 2020.08.25 |
두 해시를 어떻게 비교합니까? (0) | 2020.08.25 |
Windows 배치 파일이 자체 파일 이름을 결정할 수 있습니까? (0) | 2020.08.25 |
글로벌 ASP.Net 웹 API 필터를 추가하는 방법은 무엇입니까? (0) | 2020.08.25 |