본문으로 건너뛰기

Python 작업 디렉토리(Working directory) 확인 및 변경

파이썬 프로그램이 실행될 때, 프로그램의 현재 디렉토리를 작업 디렉토리(Working Directory)라고 합니다. 예를 들어 상대 경로로 어떤 파일을 만들 때, 작업 디렉토리 아래에 파일이 생성됩니다.

1. 작업 디렉토리 확인

파이썬에서 작업 디렉토리는 getcwd()로 얻을 수 있습니다.

또는 realpath()dirname()를 이용하여 얻을 수 있습니다. __file__는 실행 중인 파이썬 파일을 의미하는데, realpath()로 이 파일의 실제 경로를 얻을 수 있고, dirname()로 상위 폴더의 경로를 얻을 수 있습니다. 이 상위 폴더의 경로가 작업 디렉토리 경로가 됩니다.

import os

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

Output:

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

1.2 'file' 의미

__file__는 현재 실행 중인 파이썬 프로그램의 실행 파일입니다.

다음과 같이 파일 이름, 실제 경로, 절대 경로를 가져올 수 있습니다.

import os

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

Output:

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

2. 작업 디렉토리 변경

os.chdir()는 작업 디렉토리를 변경합니다. 변경 후, getcwd()로 작업 디렉토리를 확인해보면 패스가 변경된 것을 확인할 수 있습니다.

import os

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

Output:

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

3. 작업 디렉토리의 하위 파일 리스트

os.listdir()는 인자로 전달된 디렉토리의 하위 파일들을 리스트로 리턴합니다.

아래와 같이 인자로 작업 디렉토리 경로를 전달하면, 작업 디렉토리 하위의 파일 리스트를 확인할 수 있습니다.

import os

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

Output:

['test.py', 'test2.py', 'test3.py']