Programming

from pathlib import Path

minigb 2024. 5. 13. 20:37

파이썬에서 경로를 다룰 때 단순한 string으로 다룰 수도 있지만, Path 오브젝트를 사용하는 게 더 효율적이고, 코딩 실수를 방지할 수 있다.

from pathlib import Path

 

 

1. path 연결
예를 들어, 'dataset'이라는 path와, 그 안에 'audio'라는 path에 관한 변수를 두어야 한다고 생각해보자.
이 경우 아래와 같이 '/'로 연결하면

dataset_dir = Path('dataset')
audio_dir = dataset_dir / 'audio'

 

이렇게 매우 직관적으로 처리할 수 있다.

2. directory 내에 존재하는 파일명 list 구하기
Path의 method인 glob에 구하고자 하는 파일에 관한 pattern을 주어서 특정한 조건을 만족하는 파일이름의 list를 구할 수 있다.
e.g.

audio_list = list(audio_dir.glob('*.mp3'))

 

 

이렇게 audio_dir에 있는 mp3 파일들의 이름을 담은 리스트를 구할 수 있다.
여기서 glob 메소드가 generator를 반환하기 때문에 이를 list로 변환해야 한다는 것을 주의해야 한다.

만약에 파일 구조가

audio/
├── rock/
│   ├── rock_audio1.mp3
│   ├── rock_audio2.mp3
│   └── ...
└── jazz/
    ├── jazz_audio1.mp3
    ├── jazz_audio2.mp3
    └── ...


이런 식으로 하위 디렉토리에 mp3 파일들이 있는 상황이라고 가정해보자.
이때는 recursive glob를 의미하는 rglob을 이용하면 마찬가지로 하위 디렉토리에 있는 mp3 파일들의 이름을 모두 불러올 수 있다.

audio_list = list(audio_dir.rglob('*.mp3'))

 

 

매우 깔끔하고 편리하다.
다들 Path 하자요.

 

 

 

https://blog.naver.com/mini_gb/223445638532

 

from pathlib import Path

파이썬에서 경로를 다룰 때 단순한 string으로 다룰 수도 있지만, Path 오브젝트를 사용하는 게 더 효율적...

blog.naver.com