Py) 기초 - 경로

Py) 기초 - 경로

파이썬 기반 데이터분석을 위해 경로(path)와 관련하여 알아보도록 하자.


개요

우리가 택배를 주문한다면 내가 그 택배를 잘 받기 위해서 그 주소를 정확하게 써야 한다. 데이터 분석을 위해서도 파일을 읽고 쓰는 등 코드를 운용하기 위해서 기준이 되는 주소가 필요한데 이 주소에 해당되는 단어로 경로(path)라는 표현을 쓰기도 한다. 이 경로는 폴더(또는 디렉토리)나 파일의 위치를 지칭한다. 그리고 기준이 되는 주소를 “작업폴더(working folder 또는 working directory)” 라고 말하며 코드를 기반으로 파일 및 폴더를 관리하기 위해서는 관련 내용을 숙지하고 있어야 한다.

표현

파이썬에서 경로는 일반적으로 문자열(string) 형태로 표현된다. 이와 관련하여 여러 특수 문자가 같이 사용되는데 정리하자면 다음과 같다.

  • \: Windows 운영체제에서 사용되는 경로 구분자
  • /: Linux, MacOS와 같은 UNIX 계열 운영체제에서 사용되는 경로 구분자
  • .: 현재 경로를 나타내는 기호
  • ..: 상위 경로를 나타내는 기호

예를 들어 Windows 운영체제의 경우 경로는 다음과 같이 표기될 수 있다.

C:\user\aa\desktop\sample.txt

UNIX 계열의 운영체제의 경우 경로는 다음과 같이 표기될 수 있다.

C:/user/aa/desktop/sample.txt

작업폴더의 확인 및 변경

작업폴더와 관련된 작업은 os 라이브러리를 사용한다.

Windows 운영체제에서 작업폴더를 확인하는 방법은 getcwd() 함수(get current working directory)를 사용하며 관련 코드는 다음과 같다.

1
2
3
import os
os.getcwd()
## 'C:\Users\aa\desktop\test'

상기 경로는 주피터 노트북에서 다음과 같이 표기될 수 있다.

‘C:₩₩Users₩₩aa₩₩desktop₩₩test’

즉, 파일을 읽고 저장하는 등 다양한 작업이 저 폴더를 기준으로 수행된다.

물론 작업폴더 경로를 변경하는 방법은 chdir() 함수(Change the current working directory)를 사용하며 관련 코드는 다음과 같다.

1
2
3
os.chdir("..")
os.getcwd()
## 'C:\Users\aa\desktop'

상기 코드에서 사용한 표현 중 “..” 은 상위 폴더로 이동함을 뜻하며 현재 경로의 하위 폴더로 이동하고자 할 경우 그에 맞는 폴더명 또는 경로를 chdir() 함수에 기입하면 된다.

상기 코드를 통해 “test” 폴더에서 상위폴더인 “desktop” 폴더로 이동하였는데 다시 “desktop” 폴더의 하위 폴더인 “test” 폴더로 이동하고자 한다면 다음과 같이 코드를 작성할 수 있다.

1
2
3
os.chdir("test")
os.getcwd()
## 'C:\Users\aa\desktop\test'

chdir() 폴더에 입력한 문자열은 사실 현재 작업폴더를 기준으로 작성된 상대경로와 관련이 있다. 경로는 크게 상대경로와 절대경로로 나뉘는데 그 내용은 아래에서 다룬다.

상대경로와 절대경로

글 앞에서 택배를 보낼때 기입하는 주소와 관련된 얘기를 다시 해보자. 주소를 “서울특별시 OO구 ~~ OOO호” 까지 적는 것은 “절대경로” 라는 것에 비유할 수 있고, “나 저기 앞에 101동 1001호에 살아!” 라고 하면서 주소를 말하는 것은 “상대경로” 라고 할 수 있다. 즉, 절대경로는 지금 내 위치에 관계없이 주소(경로)를 알 때 해당 위치로 찾아갈 수 있는 정보이다. 하지만 상대경로는 현재 위치의 정보가 주어진 상태에서 해당 정보를 기준으로 가늠하는 상대적인 주소(경로)라고 할 수 있겠다. 그래서 절대경로를 사용하는 경우 보통 C드라이브나 D드라이브 같이 보조기억장치의 최초 뿌리가 되는 지점부터 파일 또는 폴더명 까지 쓰게 되는 것이다.

  • 절대경로 예시

    C:\Users\aa\desktop\test
    C:\Users\aa\desktop\test\sample.txt

그리고 상대경로의 경우 현재 위치를 기준으로 표기하기 때문에 현재 폴더의 파일명만 표기할 때는 파일명만 쓰거나 하위 폴더에 파일명을 이어서 쓰는 경우가 대부분이다.

  • 상대경로 예시(현재 위치가 ‘C:\Users\aa’인 경우)

    desktop\test
    desktop\test\sample.txt

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×