HOME > python > examples

Python - 현재 디렉토리 위치(Working Directory) 구하는 방법

JSFollow25 Mar 2019

파이썬에서 파일의 위치 및 현재 디렉토리 위치를 구하는 방법들을 정리하였습니다. realpath, abspath, getcwd, getcwd 등 파이썬에서 기본적으로 제공하는 함수들을 이용하였습니다.

파일 이름, 파일 경로

test.py를 생성하고 아래 코드를 실행하면 파일 이름과 경로가 출력됩니다. realpath()는 심볼릭 링크 등의 실제 경로를 찾아주며, abspath는 파일의 절대경로를 리턴합니다.

print(__file__)
print(os.path.realpath(__file__))
print(os.path.abspath(__file__))

출력

test.py
/home/js/test/python/test.py
/home/js/test/python/test.py

현재 파일의 디렉토리(폴더) 경로

아래 코드들은 파일이 있는 폴더의 경로를 구하는 2가지 방법입니다. os.getcwd()는 폴더 경로를 리턴합니다. os.path.dirname()는 파일의 폴더 경로를 리턴합니다.

import os
print(os.getcwd())
print(os.path.dirname(os.path.realpath(__file__)) )

출력

/home/js/test/python
/home/js/test/python

현재 디렉토리에 있는 파일 리스트

listdir()는 인자로 넘겨준 경로의 파일 리스트를 리턴합니다.

import os
print(os.listdir(os.getcwd()))

출력

~/test/python$ ls
test2.py  test3.py  test.py

~/test/python$ python test.py
['test.py', 'test2.py', 'test3.py']

작업 디렉토리 변경

chdir은 작업 디렉토리를 변경해줍니다.

import os
print("before: %s"%os.getcwd())
os.chdir("/home/js/test/")
print("after: %s"%os.getcwd())

출력

before: /home/js/test/python
after: /home/js/test

정리

파이썬에서 파일의 경로와 작업 경로를 구하는 방법들에 대해서 알아보았습니다. 작업디렉토리에 대해서 변경하는 방법도 알아보았습니다.