재귀적 디렉터리 탐색을 위해 Python의 os.walk() 활용
Python에서 디렉터리를 재귀적으로 탐색하는 것은 파일 관리와 같은 작업에 중요한 작업입니다. 그리고 디렉토리 조작. 다용도 os.walk() 함수는 이러한 목적을 위한 강력한 솔루션을 제공합니다.
디렉토리를 탐색할 때 파일과 디렉토리를 구별하는 것이 필수적인 경우가 많습니다. 그러나 os.walk() 함수는 데이터를 다르게 표시합니다. 이 문제를 해결하려면 추가 도구를 활용하는 것이 필요합니다.
이를 예시하려면 다음 코드 조각을 고려하세요.
import os import fnmatch for root, dir, files in os.walk("."): print(root) print("") for items in fnmatch.filter(files, "*"): print("..." + items) print("")
이 코드가 실행되면 현재 디렉터리의 구조를 인쇄한 다음 각 디렉토리 내의 파일. 그러나 이 구조는 파일과 디렉터리가 명확하게 구분되는 원하는 형식과 일치하지 않습니다.
원하는 출력을 얻으려면 약간 수정된 os.walk() 구현을 사용하는 대체 접근 방식이 필요합니다.
import os for root, dirs, files in os.walk("."): path = root.split(os.sep) print((len(path) - 1) * '---', os.path.basename(root)) for file in files: print(len(path) * '---', file)
이 수정된 코드는 루트 디렉터리 경로를 개별 구성 요소(경로)로 나누고 구성 요소 수를 계산하여 현재 디렉터리의 깊이를 결정합니다. 그런 다음 이 깊이는 적절한 시각화를 위해 디렉터리 이름과 그 안에 있는 파일을 들여쓰는 데 사용됩니다. 따라서 최종 출력에는 디렉터리와 파일이 명확하게 구분된 계층적 표현이 반영됩니다.
위 내용은 Python의 os.walk() 함수를 사용할 때 파일과 디렉터리를 어떻게 효과적으로 구분할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!