파이썬에서 파일 크기별로 정렬하는 방법
파이썬에서 파일을 크기별로 정렬하는 방법
다음은 파이썬에서 파일을 크기별로 정렬하는 단계별 튜토리얼입니다:
1단계: 필요한 모듈 가져오기
먼저, os와 operator 모듈을 가져와야 합니다. os 모듈은 운영 체제와 상호작용하는 방법을 제공하며, operator 모듈은 정렬에 편리한 함수를 제공합니다.
import os
import operator
2단계: 파일 크기를 가져오는 함수 정의하기
다음으로, 디렉토리 경로를 입력으로 받아 파일 이름과 파일 크기를 매핑한 딕셔너리를 반환하는 함수를 정의할 수 있습니다. 이 함수는 os.path.getsize() 메서드를 사용하여 각 파일의 크기를 가져옵니다.
def get_file_sizes(directory):
file_sizes = {}
for filename in os.listdir(directory):
filepath = os.path.join(directory, filename)
if os.path.isfile(filepath):
file_sizes[filename] = os.path.getsize(filepath)
return file_sizes
3단계: 파일 크기 가져오고 정렬하기
이제 get_file_sizes() 함수를 호출하여 특정 디렉토리의 파일 크기를 가져올 수 있습니다. 그 후에는 sorted() 함수를 사용하여 딕셔너리를 값(파일 크기)에 따라 정렬할 수 있습니다. sorted() 함수에 딕셔너리의 items() 메서드와 함께 key 매개변수를 operator.itemgetter(1)로 설정하여 값을 기준으로 정렬할 수 있습니다.
directory_path = '/경로/디렉토리'
file_sizes = get_file_sizes(directory_path)
sorted_files = sorted(file_sizes.items(), key=operator.itemgetter(1))
sorted_files 변수는 이제 각 튜플이 파일 이름과 해당 크기를 나타내는 파일의 리스트를 포함하고 있습니다. 리스트는 파일 크기를 기준으로 오름차순으로 정렬됩니다.
4단계: 정렬된 파일 크기 출력하기
정렬된 파일 크기를 출력하려면 sorted_files 리스트를 반복하고 각 파일 이름과 크기를 출력하면 됩니다.
for file_name, file_size in sorted_files:
print(f'{file_name}: {file_size} 바이트')
출력문을 필요에 맞게 수정할 수 있으며, 파일 크기를 더 읽기 쉬운 형식(예: 킬로바이트 또는 메가바이트)으로 형식화할 수도 있습니다.
그것으로 끝났습니다! 파이썬에서 파일을 크기별로 성공적으로 정렬했습니다.