서브 디렉토리 별로 포함된 이미지 파일을 딕셔너리에 저장하는 파이썬 코드입니다.
2024. 10. 10 최초작성
테스트 결과를 쉽게 확인할 수 있도록 서브 디렉토리에 있는 이미지 개수를 줄여놓고 테스트했습니다. 이미지 파일 외에 _DS_Store 같은 다른 파일이 포함되어도 처리할 수 있도록 코드가 작성되어 있습니다.
전체 코드입니다.
import os # 디렉토리 지정 dataset_path = 'train' # 서브 디렉토리 이름 얻기 entries = os.listdir(dataset_path) subdirs = [entry for entry in entries if os.path.isdir(os.path.join(dataset_path, entry))] # 서브 디렉토리 별로 서브 디렉토리 이름을 key로하여 딕셔널리에 이미지 파일 리스트 저장하기 list_files = {} for subdir in subdirs: files = [ dataset_path + '/' + subdir + '/' + filename for filename in os.listdir(dataset_path + '/' + subdir) if filename.lower().endswith('.jpg')] print(f'number of files in {dataset_path + '/' + subdir} : ', len(files)) list_files[subdir] = files print(list_files) |
실행하면 서브 디렉토리 이름을 key로하여 딕셔너리에 저장된 이미지 파일 리스트를 출력합니다.
number of files in train/dogs : 10
number of files in train/cats : 10
{'dogs': ['train/dogs/dog.1.jpg', 'train/dogs/dog.2.jpg', 'train/dogs/dog.3.jpg', 'train/dogs/dog.7.jpg', 'train/dogs/dog.6.jpg', 'train/dogs/dog.4.jpg', 'train/dogs/dog.5.jpg', 'train/dogs/dog.8.jpg', 'train/dogs/dog.9.jpg', 'train/dogs/dog.10.jpg'], 'cats': ['train/cats/cat.6.jpg', 'train/cats/cat.7.jpg', 'train/cats/cat.5.jpg', 'train/cats/cat.4.jpg', 'train/cats/cat.1.jpg', 'train/cats/cat.3.jpg', 'train/cats/cat.2.jpg', 'train/cats/cat.10.jpg', 'train/cats/cat.9.jpg', 'train/cats/cat.8.jpg']}
'Python > Python - 파일' 카테고리의 다른 글
지정한 디렉토리의 파일을 특정 비율로 나누어 2개의 디렉토리에 저장하기 (0) | 2024.03.16 |
---|---|
파일에서 한줄씩 읽어와 파일에 한줄씩 쓰는 Python 예제코드 (0) | 2024.01.24 |
디렉토리에 있는 파일 목록 가져오는 Python 예제 (0) | 2023.10.21 |
실행한 파이썬 파일의 경로를 얻기 (0) | 2021.12.19 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!