본문 바로가기
  • BLG-ZYNGIROK-모토-꿈꾸며-배우고-나누며-이루다
ICT/Python

Python | 절대경로와 상대경로 이용하는 방법

by dazwischen 2021. 11. 16. 12:12
반응형

파이썬을 이용해서 root폴더에서 작업하는 경우가 아닌 경우 파일 이름만으로 파일을 불러올 수 없고 파일의 위치 경로를 입력해 주어야 한다. 이 대 절대 경로와 상대 경로를 사용할 수 있다. 

경로 Path

파일들은 모두 한 위치에 저장이 되어 있다. 컴퓨터 내에서 파일이 저장되어 있는 위치 즉 주소를 경로 혹은 위치경로라고 부른다. 파일의 경로를 알고 있다면 폴더를 뒤져보지 않더라도 바로 파일을 실행할 수 있다. 왜냐하면 그 경로가 컴퓨터가 알고 있는 유일한 파일의 위치이고 컴퓨터가 알아듣는 표현이기 때문이다. 하지만 모든 파일의 위치(주소)를 기억할 수 없기 때문에 우리는 그래픽으로 표현된 폴더를 이용해 파일의 위치를 파악하고 찾아낸다. 하지만 프로그래밍을 하는 경우 컴퓨터가 이해할 수 있는 표현을 사용해 줘야 한다. 때문에 파일 경로를 알아내고 이용할 주 아는 방법을 알아둬야 한다. 그렇지 않으면 매번 파일의 위치를 찾아가서 경로를 복사해 와야 하는 번거로움이 생긴다.

절대 경로 Absolute Path

탐색기에서 확인하는 방법

절대 경로는 우리가 폴더에서 (윈도우기준) 주소창을 클릭하면 알 수 있는 복잡한 그 주소이다. 원하는 파일의 폴더에 가서 주소창을 클릭하면 카테고리 표현이 주소식 표현으로 바뀐다. 이 경로가 절대 경로이고 복사해서 사용하면 된다.

파일이-위치해-있는-폴더의-모습
파일이 위치해 있는 폴더
주소창에서_파일의_절대경로를_확인
주소창의 파일의 절대경로

os 라이브러리를 이용하는 방법

하지만 매번 폴더를 찾아가서 파일의 경로를 찾아오는 것은 너무나 번거롭다. 그때 이용하는 것이 os 라이브러리이다.

import os

current_working_directory = os.getcwd()
print(current_working_directory)

위와 같이 현재 작업 중인 폴더 위치를 불러오는 getcwd() 함수를 이용하면 파이썬이 어디를 기준으로 가동 중인지 알 수 있다. 파일이 그 작업 중인 폴더(root라고도 부름)에 있지 않을 경우 루트 경로를 기준으로 파일의 위치가 어디인지 추가해 주면 된다.

import os

current_working_directory = os.getcwd()
detail_file_path = "/Folder/FileName.xyz"

print("파일의 경로 : "+current_working_directory+detail_file_path)

상대 경로 Relative Path

Root 폴더가 어디인지 이미 알고 있거나 위의 경우와 마찬가지로 getcwd() 함수를 이용해서 알고 있다면 매번 모든 경로를 사용하지 않고 root 폴더를 기준으로 어느 위치에 있는지 표현하는 상대 경로를 사용할 수도 있다. 이때 root 폴더를 기준으로를 표현하는 것이 점(.)이다.

file_loaction = "./Folder/FileName.xyz"

루트 폴더의 위치만 정확히 알고 있다면 상대 경로를 이용하는 것이 편리하다.

정리

  • 파일의 위치를 경로라고 한다.
  • 주소처럼 파일의 모든 폴더 관계(종속관계)를 표현한 경로를 절대 경로라고 한다.
  • root 폴더는 파이썬이 작동하는 기준 폴더이며 파이썬에선 os 라이브러리의 getcwd() 함수를 통해 알아낼 수 있다.
  • root 폴더를 기준으로 파일의 위치를 표현하는 것을 상대 경로라고 한다.
반응형

댓글