-
Recursive 함수 폴더 리스트 뽑아내기카테고리 없음 2020. 3. 6. 16:48
데이터 파일을 체크할때, 일일이 경로를 지정하는 것은 불편하다. 파일 곳곳을 자동으로 들어가 파일을 체크하는 코드가 필요하다. 데이터 수가 많아지면, 일일이 핸들링하는데 대단히 많은 시간이 소요되기 때문이다.
이번 시간에는 재귀함수를 이용해, 파일이 담겨있는 폴더 리스트를 뽑아볼 것이다.
재귀함수 문으로 구성되어 약간 헷갈릴 수 있다. 일단 사용된 함수를 먼저 알아보면, 현재 경로를 기점으로 Path 객체를 만들어서 폴더에 있는 파일과 폴더들을 iterdir로 반환하고 is_dir로 폴더만 골라낸다.
추가적으로 sum(valids,[])에서 두번째 인자 [ ]빈 리스트의 역할은 다음같다. (리스트의 원소를 합하는 느낌)
sum([1,2,3])을 호출하면
- start(=0) + 1 + 2 + 3 을 계산해
- 6을 리턴
sum([[1,2],[3,4],[5,6]], [])을 호출하면
- start(=[]) + [1,2] + [3,4] + [5,6]을 계산해
- [1,2,3,4,5,6]을 리턴