[파이썬] os `os.walk()`를 사용한 디렉토리 탐색
파이썬에서는 os
모듈을 사용하여 디렉토리와 파일을 다룰 수 있습니다. os.walk()
함수는 특히 디렉토리의 하위 파일과 디렉토리를 탐색하는 데 유용합니다. 이 함수는 재귀적으로 디렉토리를 탐색하며, 각 디렉토리에서 트리에 있는 하위 디렉토리와 파일들을 확인할 수 있습니다. 이를 통해 원하는 디렉토리 구조를 탐색할 수 있습니다.
os.walk()
의 사용법
os.walk()
함수는 세 가지 개체를 반환합니다:
- 현재 탐색 중인 디렉토리의 경로
- 현재 디렉토리의 하위 디렉토리 리스트
- 현재 디렉토리의 파일 리스트
아래는 os.walk()
함수의 간단한 사용 예시입니다:
import os
# 탐색할 디렉토리 경로
directory = '/path/to/directory'
# os.walk()를 사용하여 디렉토리 탐색
for dirpath, dirnames, filenames in os.walk(directory):
print(f'현재 디렉토리: {dirpath}')
print(f'하위 디렉토리: {dirnames}')
print(f'파일: {filenames}')
print()
위 예시에서 for
반복문은 디렉토리를 순환하며 각 디렉토리의 경로, 하위 디렉토리 리스트 및 파일 리스트를 출력합니다.
os.walk()
를 통해 하위 디렉토리 탐색하기
os.walk()
함수를 사용하면 디렉토리의 하위 디렉토리를 탐색할 수 있습니다. 디렉토리의 하위 디렉토리를 탐색하는 방법은 os.walk()
함수를 재귀적으로 호출하는 것입니다. 아래는 이러한 방법을 사용하여 디렉토리의 모든 하위 디렉토리를 탐색하는 예시입니다:
import os
# 탐색할 디렉토리 경로
directory = '/path/to/directory'
# 재귀적으로 디렉토리 탐색
def explore_directory(directory):
for dirpath, dirnames, filenames in os.walk(directory):
print(f'현재 디렉토리: {dirpath}')
print(f'하위 디렉토리: {dirnames}')
print(f'파일: {filenames}')
print()
# 각 하위 디렉토리에 대해 재귀적으로 디렉토리 탐색
for dirname in dirnames:
explore_directory(os.path.join(dirpath, dirname))
# 디렉토리 탐색 시작
explore_directory(directory)
위의 예시 코드는 explore_directory()
라는 재귀적인 함수를 정의하여 디렉토리와 하위 디렉토리의 구조를 출력합니다. 이 함수는 각 하위 디렉토리에 대해 재귀적으로 호출됩니다.
결론
파이썬의 os.walk()
함수를 사용하면 디렉토리와 파일 구조를 재귀적으로 탐색할 수 있습니다. 이를 통해 디렉토리 내부의 모든 하위 디렉토리와 파일을 처리하는 작업에 유용하게 사용할 수 있습니다.