Python

[Python] 파일구조 시각화하는 방법 [코드/라이브러리 활용]

Meteors Woo 2023. 6. 24. 22:14
주제: 코드 또는 라이브러리를 활용하여 파일구조 시각화하는 방법
작성: 2023-06-24
수정: 2024-03-20 (코드 들여쓰기 수정)

파일구조 시각화의 필요성

파일구조 시각화가 왜 필요할까요?
데이터 관리, 워크플로우 최적화, 문제해결 등에 있어서 중요한 도구가 될 수 있기때문입니다. 특히, 점점 대용량의 복잡한 데이터들을 다루며, 다양한 오픈소스들을 활용하는 사례가 많아지면서 파일구조가 한눈에 명확하게 이해하는데 어려울 수 있습니다. 그렇기에 시각화도구를 통해서 이러한 복잡성을 줄이는 데 도움이 됩니다.


파이썬에서의 파일구조 시각화

파이썬은 다양한 라이브러리를 통해 파일 시스템을 시각화할 수 있는 도구를 제공합니다. 특히, os, os.path 와 같은 모듈은 파일 시스템에 액세스하는 기능을 제공하며, matplotlib, networkx 등의 라이브러리는 시각화를 위한 기능을 제공합니다. 그러나 이것만으로는 복잡한 파일 구조를 효과적으로 시각화하는 것이 쉽지 않습니다.

[1] 파이썬으로 코드이용하는 방법

graphviz, treelib 같은 라이브러리를 통해 이를 해결할 수 있습니다.

from graphviz import Digraph
from graphviz import Digraph 
import os

def visualize_directory(root_dir):
    dot = Digraph(comment='Directory Structure Tree') 
    for root, dirs, files in os.walk(root_dir):
        for name in dirs:
            dot.node(os.path.join(root, name))
            dot.edge(root, os.path.join(root, name))
        for name in files:
            dot.node(os.path.join(root, name))
            dot.edge(root, os.path.join(root, name)) 
            
    dot.view()

visualize_directory('/Users/lucas/Desktop')  # 그리고자 하는 파일구조 경로를 작성합니다

 

[2] 시각화 패키지 tree 설치

하지만, 위와 같이 코드짜는 방식이 어렵거나 귀찮다고 생각이든다면, tree 라이브러리를 추천드립니다.
간단하게 파일구조 시각화가 가능합니다.

sudo apit install tree

tree 명령어 옵션으로 파일구조 시각화합니다

  • tree -d [시각화하고 싶은 디렉토리] : 디렉토리만 표시
  • tree -f [시각화하고 싶은 디렉토리] : 디렉토리 전체경로 표시

 

다른 방안들

파이썬 외에도 여러 가지 방법으로 파일 구조를 시각화할 있습니다.
예를 들어, macOS에서는 tree 명령어를 사용하여 터미널에서 파일 구조를 표시할 있습니다.윈도우에서는 'TreeSize', 'WinDirStat' 같은 서드파티 애플리케이션을 사용할 있습니다. 외에도 d3.js 같은 자바스크립트 라이브러리를 이용하여 기반의 시각화도 가능합니다.

 

Done is better than perfect

728x90
반응형