Yolov5 보면서..
from pathlib import Path
FILE=Path(__file__).resolve()
ROOT = FILE.parents[0]
yolov5보면서 from pathlib import path 코드를 처음 봐서 찾아보게 되었다.
공식문서 - Path().resolve() 는 심볼릭 링크를 결정하여, 경로를 절대적으로 만든다. 새로운 경로 객체가 반환된다.
Path().resolve()
from pathlib import Path
FILE = Path()
print(FILE)
# 출력 : .
FILE = FILE.resolve()
print(FILE) # 절대 경로로 바꿔준다.
# 출력 : C:\Users\(사용자_이름)\Downloads\yolov5-master
print(type(FILE))
# 출력 : <class 'pathlib.WindowsPath'>
FILE.resolve() 하면 파일의 절대 경로를 얻을 수 있다. 디렉토리가
FILE.parents[0]
parents[]에 대해서도 찾아봤다.
공식 문서 : 경로의 논리적 조상에 대한 엑세스를 제공하는 불변 시퀀스
FILE = FILE.parents[0] # 디렉토리를 전 단계로 바꿔준다.
print(FILE)
# 출력 : C:\Users\(사용자_이름)\Downloads
- 이전 폴더까지 출력(저장)이 된다.
FILE = FILE.parents[1] # 디렉토리를 2단계 전으로 바꿔준다.
print(FILE)
# 출력 : C:\Users\(사용자_이름)
결론
from pathlib import Path
FILE=Path(__file__).resolve()
ROOT = FILE.parents[0]
yolov5/train.py 의 절대 경로를얻을 수 있다.
(참고 사이트)