Python에서 재귀적 디렉터리 탐색을 위해 os.walk() 사용
디렉토리를 재귀적으로 탐색하고 해당 내용을 나열하는 것은 Python 프로그래밍에서 일반적인 작업입니다. . os.walk() 함수는 이 목표를 달성하는 효율적인 방법을 제공합니다.
원본 코드
다음 코드는 os.walk()를 사용하여 탐색하는 방법을 보여줍니다. 루트 디렉터리에서 모든 하위 디렉터리로 이동하고 해당 내용을 인쇄합니다.
#!/usr/bin/python import os import fnmatch for root, dir, files in os.walk("."): print(root) print("") for items in fnmatch.filter(files, "*"): print("..." + items) print("")
이 코드는 현재 디렉터리와 하위 디렉터리의 콘텐츠를 효과적으로 나열하지만 디렉터리와 파일을 구분하지는 않습니다.
원하는 출력
그러나 원하는 출력을 위해서는 디렉터리를 하위 폴더로 표시하고 파일을 해당 폴더 내의 항목으로 표시해야 합니다.
A ---a.txt ---b.txt ---B ------c.out
수정된 코드
원하는 출력을 얻기 위해 다음 수정된 코드에서는 os.path.basename()을 사용하여 디렉터리 경로를 얻습니다.
#!/usr/bin/python import os # traverse root directory, and list directories as dirs and files as files 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)
이 코드는 먼저 os.sep을 사용하여 경로를 분할하여 디렉터리 수준을 식별합니다. 그런 다음 깊이에 해당하는 대시 수를 사용하여 디렉터리 이름을 인쇄한 다음 각 수준에 대한 추가 대시와 함께 해당 디렉터리 내의 파일 목록을 인쇄합니다.
위 내용은 Python에서 시각적으로 구조화된 디렉토리 트리를 생성하기 위해 os.walk()를 어떻게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!