- python 에서 Path를 다룰 때 보통 os 모듈을 많이 사용했으나, Pytorch 에서 활용할 때 조금 불편한 부분이 있음.
- os 모듈보다 좀 더 편하고 많이 활용하는 패키지를 찾아보니 glob 이 있었고, 사실 알고 있었지만 os가 더 익숙해서 활용하지 않았음.
- 늦었지만 glob 활용법을 익혀두고 앞으로도 활용하지 않을듯 싶어 정리하고자 함.
- os 모듈과 거의 흡사하지만, 문자열과 형식을 더 다루기 쉬웠음.
- glob() 함수는 인자로 받은 패턴과 이름이 일치하는 모든 파일과 디렉터리의 리스트를 반환하며, 이 패턴을 그냥 *라고 주면 모든 파일과 폴더를 확인 가능함.
from glob import glob
glob('*.exe') # 현재 디렉터리의 .exe 파일
# output : ['python.exe', 'pythonw.exe']
glob('*.txt') # 현재 디렉터리의 .txt 파일
# output : ['LICENSE.txt', 'NEWS.txt']
- 현재 경로 외, 다른 경로에서도 조회 가능함.
glob(f"{base_path}/U*") # base_path 내 U로 시작하는 폴더/파일 조회
['/home/hjkim/projects/User', '/home/hjkim/projects/usr']
- 딥러닝에서 많이 활용되는 포맷을 아래와 같이 활용하면 편리하게 사용 가능할 듯 함.
- .csv
- .dcm
- .jpg
- .png
- ...
- 아래와 같이 os 모듈과 같이 활용할 수도 있음.
from glob import glob
from os.path import isdir
for x in glob('*'):
if isdir(x): # 디렉터리인가?
print(x, '<DIR>')
else:
print(x)
'Python Code' 카테고리의 다른 글
Pytorch CRNN 모델 (ResNet + LSTM) (0) | 2024.03.20 |
---|---|
psycopg2 로 python 에서 postgresql 활용하는 법 (0) | 2024.03.20 |
Pytorch training continue 코드 (0) | 2024.01.31 |
Attention UNET 모델 구조 파이토치(Pytorch) 코드 (1) | 2024.01.23 |
torch 모델 save, load (0) | 2024.01.22 |