구글 드라이브에 이미지 파일을 왕창 한꺼번에 올리려면 구글 드라이브가 무한로딩😵 되다가 렉이 걸리고 만다.. 한 200장씩 정도 올려야 오류가 발생하지 않는데 내가 올리고자 하는 파일은 만 장이 넘다 보니 노가다를 해야하나..? 싶다. 이럴 때 코랩을 이용해서 쉽게 해결할 수 있다.
⚠ 먼저 이미지가 포함된 zip 파일이 있다는 전제에서 이루어진다.
원하는 위치의 구글 드라이브에 이미지 zip 파일을 업로드 한다.
코랩에서 드라이브 마운트
from google.colab import drive
drive.mount('/content/drive')
압축파일을 풀어주는 코드 작성
🤔 만약에 Positive.zip파일의 구성이
1) Positive (폴더) - 이미지 여러개~ 라면?
→ folder name 안에 Positive 폴더 하나가 생기고 그 안에 이미지가 들어갈 거임.
2) 이미지 여러개~ 라면?
→ folder name 안에 이미지 여러 개가 들어갈 거임.
'''
%cd 압축을 풀 경로
!unzip -qq "압축파일이 있는 경로(절대적)"
'''
%cd /content/drive/MyDrive/Colab Notebooks/folder name
!unzip -qq "/content/drive/MyDrive/Colab Notebooks/challenge/data/Positive.zip"
업로드가 잘 되었는지 파일 수 확인
glob 함수 : 인자로 받은 패턴과 이름이 일치하는 모든 파일과 디렉토리의 리스트를 반환한다. 패턴을 ‘*
' 만 주면 모든 파일과 디렉터리를 볼 수 있다.
>>>from glob import glob
>>> glob('.exe') # 현재 디렉터리의 .exe 파일
['python.exe', 'pythonw.exe']
>>> glob('.txt') # 현재 디렉터리의 .txt 파일
['LICENSE.txt', 'NEWS.txt']
filenames = list(glob('folder name/*.jpg'))
#list함수를 쓰기 보다는 가벼운 np.array를 사용하도록 하자. 어차피 glob은 list를 반환하기도 하고..
len(filenames) #파일의 개수 반환
출처: