이것저것 기록

[python] 디렉토리 경로 - 절대경로, 상대경로, 현재경로 본문

코린이/코딩 기초 & 알고리즘 공부

[python] 디렉토리 경로 - 절대경로, 상대경로, 현재경로

anweh 2020. 9. 22. 13:00

코딩을 하다보면 아주 사소한 것 하나 때문에 에러가 발생하곤 한다. 

내가 자주 마주쳤던 에러 중 하나는 파일을 읽어오지 못하는 에러였다. 

예를 들어, 이미지 파일을 읽어와서 작업하고 싶은데 자꾸 파일이 비어있다고 뜨는 것이다. 

이런 경우 대부분의 원인은 디렉토리 경로에 있었다. (현재 경로가 이미지 파일이 있는 위치가 아닌 것) 

 

쨌든 디렉토리 경로 설정은 파이썬에서 엄청 기초적이면서도, 중요한 부분이니까 잘 익혀두면 도움이 많이 될 것 같다. 

파이썬에서 파일 경로 및 디렉토리와 관련한 코드는 모두 os 모듈을 사용한다. 

import os

이렇게 간단히 import 해오면 os 모듈의 함수를 사용할 수 있게 된다. 

 

 

1. 현재 위치 확인

print(os.getcwd())

현재 위치를 출력해준다. 

현재 위치가 정확한 위치인지 (경로가 맞는지) 확인할 때 유용하게 쓴다. 

print(os.path.abspath('.'))

이건 현재 위치를 절대 경로로 출력해주는 코드이다. 

 

 

2. 디렉토리 변경

os.chdir("가고 싶은 경로")

os.chdir는 가고 싶은 경로로 이동하게 해준다. 

 

 

3. 절대경로 구하기

path = os.path.dirname(os.path.abspath(__file__)) 
print(path)

절대경로를 구할 때는 abspath()를 사용한다.

위의 코드를 실행시키면 현재 내 위치가 어디든, 해당 파이썬 스크립트 파일의 절대 경로를 구할 수 있다. 

 

 

4. 경로가 존재하는지 확인

os.path.exists('경로 이름') 
if not os.path.exists('경로 이름'):
	os.mkdir('경로 이름')

위 코드는 경로가 있는지 없는지 확인하고, 없으면 그 경로(폴더)를 만드는 코드이다. 

이렇게 짜두면 미리 폴더를 만들어두지 않아도 되기 때문에 편하다! 

 

 

 

Comments