모든 파일은 여러 디렉터리(폴더) 안에 저장됩니다. 파이썬은 이러한 디렉터리도 손쉽게 처리할 수 있으며, 표준 라이브러리인 os 모듈은 디렉터리를 생성하고, 삭제하고, 현재 위치를 변경하는 데 유용한 다양한 메서드를 제공합니다.
이 글에서는 디렉터리 작업에 가장 많이 사용되는 네 가지 메서드인 mkdir(), chdir(), getcwd(), rmdir()의 사용법을 예제와 함께 살펴보겠습니다.
1. mkdir() — 디렉터리 생성
os 모듈의 mkdir() 메서드를 사용하면 현재 디렉터리 안에 새로운 디렉터리를 만들 수 있습니다. 이 메서드를 호출할 때는 생성할 디렉터리의 이름을 인자로 반드시 전달해야 합니다.
구문
os.mkdir("newdir")예제
다음은 현재 디렉터리에 'test'라는 이름의 디렉터리를 생성하는 예제입니다.
#!/usr/bin/python
import os
# "test" 디렉터리 생성
os.mkdir("test")2. chdir() — 현재 디렉터리 변경
chdir() 메서드는 현재 작업 디렉터리를 다른 위치로 변경할 때 사용합니다. 이동하고자 하는 디렉터리의 경로를 인자로 전달하면, 해당 디렉터리가 새로운 작업 디렉터리가 됩니다.
구문
os.chdir("newdir")예제
다음은 '/home/newdir' 디렉터리로 이동하는 예제입니다.
#!/usr/bin/python
import os
# 작업 디렉터리를 "/home/newdir"로 변경
os.chdir("/home/newdir")3. getcwd() — 현재 디렉터리 확인
getcwd() 메서드는 현재 작업 중인 디렉터리의 전체 경로를 문자열로 반환합니다. 스크립트가 어느 위치에서 실행되고 있는지 확인할 때 유용합니다.
구문
os.getcwd()
예제
다음은 현재 작업 디렉터리의 위치를 출력하는 예제입니다.
#!/usr/bin/python import os # 현재 디렉터리의 위치 확인 os.getcwd()
4. rmdir() — 디렉터리 삭제
rmdir() 메서드는 인자로 전달된 디렉터리를 삭제합니다. 단, 디렉터리를 삭제하기 전에는 그 안의 모든 파일과 하위 디렉터리를 먼저 비워 두어야 합니다. 내용이 남아 있는 디렉터리는 삭제되지 않습니다.
구문
os.rmdir('dirname')예제
다음은 '/tmp/test' 디렉터리를 삭제하는 예제입니다. 이때 삭제할 디렉터리의 전체 경로(절대 경로)를 지정하는 것이 좋습니다. 상대 경로만 입력하면 현재 작업 디렉터리 기준으로 해당 디렉터리를 찾기 때문입니다.
#!/usr/bin/python
import os
# "/tmp/test" 디렉터리 삭제
os.rmdir("/tmp/test")정리
파이썬의 os 모듈을 활용하면 별도의 외부 도구 없이도 디렉터리를 자유롭게 관리할 수 있습니다.
- mkdir(): 새 디렉터리 생성
- chdir(): 작업 디렉터리 변경
- getcwd(): 현재 작업 디렉터리 확인
- rmdir(): 빈 디렉터리 삭제
이 네 가지 메서드만 익혀 두면 파일 시스템을 다루는 대부분의 디렉터리 작업을 손쉽게 자동화할 수 있습니다.