본문 바로가기

Python/개념정리

파이썬) 절대 경로와 상대 경로

절대 경로

 

1. 정의

절대적인 기준(최초 디렉토리)를 기준으로 경유한 경로를 모두 기입하는 방식

 

2. 예제

C:\Users\username\Desktop\filename.txt

참고로, Window OS는 디렉토리를 역슬레쉬(\)로 나타내고, Mac OS에서는 슬레쉬(/)로 나타낸다.

 

3. 코드 구성

이미지를 다운받아서 C드라이브에 pythonworkspace 폴더에 저장했다.

절대 경로를 사용해서 파이썬에서 이미지를 출력하는 코드는 아래와 같다.

 

import cv2
from cv2 import waitKey

image_dir = "C:\pythonworkspace"    # 이미지가 있는 디렉토리 경로를 절대 경로로 저장
img = cv2.imread(image_dir + "\\image_1.png")     # 이미지가 있는 경로에 파일을 읽어옴
cv2.imshow("test", img)     # 이미지를 화면에 띄움
waitKey()

참고로 image_1.png 파일 앞에 역슬레쉬가 두 개인 이유는 문자열에서 역슬레쉬를 표현할 때는 역슬레쉬를 두 개 사용해야 하기 때문이다. 따라서 (image_dir + "\\image_1.png") 문장은 "C:\pythonworkspace\image_1.png"로 대체된다.

아래는 결과 화면이다.

 

 

상대 경로

 

1. 정의

최초 디렉토리가 아닌 특정 경로를 기준으로 다른 경로를 표시하는 방식

 

2. 예제

절대 경로에서 예로 들었던 경로를 다시 가져오면 아래와 같다.

C:\Users\username\Desktop\filename.txt

여기서 현재 디렉토리가 username이라면 상대 경로의 개념을 이용하면 아래와 같다.

./Desktop/filename.txt

 

3. 코드 구성

위에서 절대 경로를 사용하여 구성한 코드를 상대 경로로 바꿔보면 아래와 같다.

 

import cv2
from cv2 import waitKey

image_dir = "./"    # 이미지가 있는 디렉토리 경로를 상대 경로로 저장
img = cv2.imread(image_dir + "image_1.png")     # 이미지가 있는 경로에 파일을 읽어옴
cv2.imshow("test", img)     # 이미지를 화면에 띄움
waitKey()

참고로 C:\pythonworkspace이 현재 디렉토리이다(현재 디렉토리는 파이썬 파일이 저장되는 곳을 확인하면 알 수 있다.)

따라서 현재 디렉토리에 이미지 파일이 있으니 상대 경로로 파일의 위치를 표현하면 "./image_1.png"가 된다.

아래는 결과 화면이다.