하위 디렉토리와 파일 목록 얻기
1. os.listdir
os.listdir(path)
[공식 문서]
path 로 주어진 디렉토리의 항목 이름을 포함하는 목록을 반환합니다 . 목록은 임의의 순서로 되어 있으며 특수 항목은 포함하지 않으며 '.'디렉토리 '..'에 있는 경우에도 포함됩니다. 이 함수를 호출하는 동안 디렉토리에서 파일이 제거되거나 디렉토리에 추가되면 해당 파일의 이름을 포함할지 여부는 지정되지 않습니다.
실제로 특정 경로 내에 존재하는 폴더와 파일 리스트를 리턴해준다. 하위 1레벨
2. os.walk
os.walk(top, topdown = True, onerror = None, followlinks = False)
[공식 문서]
하향식 또는 상향식으로 트리를 탐색하여 디렉토리 트리에서 파일 이름을 생성합니다. 최상위 디렉터리를 루트로 하는 트리의 각 디렉터리 ( 최상위 자체 포함)에 대해 3-튜플을 생성합니다 .(dirpath, dirnames, filenames)
dirpath 는 디렉토리 경로인 문자열입니다. dirnames는 dirpath 의 하위 디렉토리 이름 목록입니다 (디렉토리에 대한 심볼릭 링크 포함, 및 제외 '.') '..'. filenames는 dirpath 에 있는 비디렉토리 파일의 이름 목록입니다 . 목록의 이름에는 경로 구성 요소가 포함되어 있지 않습니다. dirpath 에 있는 파일이나 디렉토리에 대한 전체 경로( top 으로 시작)를 얻으려면 다음을 수행하십시오 . 목록 정렬 여부는 파일 시스템에 따라 다릅니다. 목록을 생성하는 동안 파일이 dirpath 디렉토리에서 제거되거나 추가되는 경우 해당 파일의 이름을 포함할지 여부는 지정되지 않습니다.os.path.join(dirpath, name)
실제로 특정 경로 내에 존재하는 폴더와 파일 리스트 뿐만 아니라, 모든 하위 디렉토리 구조를 다 리턴해준다.
3. 결론
특정 경로 내 모든 파일을 검색하려면 os.walk를 활용하면 좋을 것 같고,
폴더별로 특정 작업을 하면서 하위 폴더를 따라 내려가려면 os.listdir을 활용하면 좋을 것 같음.