>백엔드 개발 >파이썬 튜토리얼 >Python의 os.walk() 함수를 사용할 때 파일과 디렉터리를 어떻게 효과적으로 구분할 수 있나요?

Python의 os.walk() 함수를 사용할 때 파일과 디렉터리를 어떻게 효과적으로 구분할 수 있나요?

Barbara Streisand
Barbara Streisand원래의
2024-11-07 21:47:02580검색

How can I effectively distinguish between files and directories when using Python's os.walk() function?

재귀적 디렉터리 탐색을 위해 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.