Python으로 디렉터리 크기 계산
Python에서 디렉터리 크기를 계산하는 것은 저장 공간을 관리하거나 데이터를 분석하는 데 유용한 작업이 될 수 있습니다. 이 크기를 효율적으로 계산하는 방법을 살펴보겠습니다.
os.walk를 사용하여 파일 크기 합계
한 가지 접근 방식은 디렉터리와 해당 하위 디렉터리를 탐색하여 파일 크기를 합산하는 것입니다. 이는 os.walk 함수를 사용하여 구현할 수 있습니다.
<code class="python">import os def get_size(start_path='.'): total_size = 0 for dirpath, dirnames, filenames in os.walk(start_path): for f in filenames: fp = os.path.join(dirpath, f) if not os.path.islink(fp): total_size += os.path.getsize(fp) return total_size print(get_size(), 'bytes')</code>
이 함수는 디렉터리 크기를 재귀적으로 계산하여 전체 크기를 바이트 단위로 제공합니다.
한 줄짜리 os 사용. listdir
하위 디렉터리를 고려하지 않고 디렉터리 크기를 빠르게 계산하려면 한 줄을 사용할 수 있습니다.
<code class="python">import os sum(os.path.getsize(f) for f in os.listdir('.') if os.path.isfile(f))</code>
이 표현식은 os.listdir을 사용하여 목록의 모든 파일을 나열합니다. 현재 디렉토리 및 os.path.getsize를 사용하여 크기를 결정합니다.
os.stat 및 os.scandir 사용
또는 os.stat 또는 파일 크기를 계산하는 os.scandir. os.stat는 크기를 포함한 추가 파일 정보를 제공합니다.
<code class="python">import os nbytes = sum(d.stat().st_size for d in os.scandir('.') if d.is_file())</code>
os.scandir은 Python 3.5에서 향상된 성능을 제공하고 디렉터리를 반복하는 보다 효율적인 방법을 제공합니다.
Pathlib 솔루션
Python 3.4를 사용하는 경우 pathlib 라이브러리는 디렉터리 작업을 처리하는 편리한 방법을 제공합니다.
<code class="python">from pathlib import Path root_directory = Path('.') sum(f.stat().st_size for f in root_directory.glob('**/*') if f.is_file())</code>
이 pathlib 솔루션은 간결하고 효율적인 계산.
위 내용은 Python에서 디렉터리 크기를 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!