줄리아에서 특정 경로 아래의 파일 목록을 재귀적으로 가져오는 방법
코드
walkdir
julia> walkdir("D:\\U\\B")
Channel{Tuple{String, Vector{String}, Vector{String}}}(0) (1 item available)
julia> collect(walkdir("D:\\U\\B"))
2-element Vector{Tuple{String, Vector{String}, Vector{String}}}:
("D:\\U\\B", ["b"], ["alpha.txt", "beta.txt"])
("D:\\U\\B\\b", [], ["m.txt"])
walkdir
은 빌트인 함수로써 주어진 경로 아래의 모든 파일을 탐색한다. 그 자체로는 파일들의 정보가 담긴 튜플들의 반복자iterator고, collect
등의 함수를 통해 배열로 접근할 수 있다.
그러나 아무것도 모르는 상태에서 이 함수를 다루는 건 꽤 까다롭고, 다음의 트릭을 참고해서 편하게 사용하도록 하자.
트릭
특정 경로를 tgt
이라고 한다면 다음과 같은 커맨드로써 해당 경로 아래의 파일 목록을 재귀적으로 가져올 수 있다1.
julia> [(joinpath.(root, files) for (root, dirs, files) in walkdir("tgt"))...;]
6-element Vector{String}:
"D:\\U\\A\\x.txt"
"D:\\U\\A\\y.txt"
"D:\\U\\A\\zz.bmp"
"D:\\U\\B\\alpha.txt"
"D:\\U\\B\\beta.txt"
"D:\\U\\B\\b\\m.txt"
환경
- OS: Windows
- julia: v1.11.1