Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python OS 모듈 완벽 가이드: 디렉터리와 파일 관리 기초부터 활용까지

소개

Python의 OS 모듈(os module)은 개발자가 현재 작업 중인 운영체제와 직접 상호작용할 수 있도록 다양한 함수를 제공하는 표준 라이브러리입니다. 이 글에서는 디렉터리(폴더)를 생성하고 삭제하는 방법, 디렉터리 이름을 변경하는 방법, 그리고 파일 처리의 기본기를 차근차근 알아보겠습니다.

시작하기

OS 모듈은 Python을 설치할 때 함께 포함되어 제공됩니다. 따라서 PIP로 별도 설치할 필요 없이, 모듈을 가져오기(import)만 하면 바로 다양한 메서드와 함수를 사용할 수 있습니다.

import os

모듈을 가져왔다면 이제 각종 기능을 바로 활용할 준비가 된 것입니다.

현재 작업 디렉터리 확인하기

현재 작업 디렉터리(current working directory)란 Python 스크립트가 저장되어 실행되고 있는 폴더를 의미합니다. getcwd() 함수를 사용하면 이 경로를 손쉽게 확인할 수 있습니다.

import os
os.getcwd()

참고 − '디렉터리(directory)'는 곧 '폴더(folder)'를 의미합니다.

디렉터리 생성하기

import os
os.mkdir("D:\\Tutorialspoint")

위 코드를 실행하면 D 드라이브에 Tutorialspoint라는 폴더가 생성됩니다.

참고 − 위치를 지정하지 않으면 현재 작업 디렉터리 안에 새 폴더가 생성됩니다.

디렉터리 삭제하기

폴더를 만드는 방법을 알았으니, 이번에는 삭제하는 방법을 살펴보겠습니다. 디렉터리를 삭제할 때는 rmdir() 함수(remove directory의 약자)를 사용합니다.

import os
os.rmdir("D:\\Tutorialspoint")

참고 − Python으로 디렉터리를 삭제할 수는 있지만, 현재 작업 디렉터리(Python 스크립트가 실행 중인 폴더) 자체는 삭제할 수 없습니다.

디렉터리 이름 변경하기

폴더의 이름을 변경할 때는 OS 모듈의 rename() 함수를 사용합니다.

import os
os.mkdir("D:\\Tutorialspoint")
os.rename("D:\\Tutorialspoint", "D:\\Tutorialspoint2")

위 코드는 Tutorialspoint 폴더의 이름을 Tutorialspoint2로 변경합니다.

기본 파일 조작

폴더를 다루는 방법을 익혔다면, 이제 파일 조작 방법을 살펴보겠습니다.

파일 생성하기

파일을 생성하고 내용을 작성할 때는 일반적으로 Python의 내장 함수인 open()을 사용하는 것이 표준적인 방법입니다.

file = open("Hello.txt", "w", encoding="utf-8")

위 코드는 현재 작업 디렉터리에 Hello.txt라는 파일을 생성합니다. 'w'는 쓰기(write) 모드를 의미하며, 같은 이름의 파일이 이미 존재하면 기존 내용을 덮어씁니다.

생성한 파일에 내용 추가하기

file = open("Hello.txt", "w", encoding="utf-8")
file.write("Hello there! This is a tutorialspoint article")
file.close()

참고 − os.rename() 함수는 파일 이름 변경에도 활용할 수 있습니다. 단, 확장자까지 정확히 지정해야 합니다.

종합 예제

아래는 지금까지 설명한 모든 기능을 한 번에 테스트해 볼 수 있는 전체 프로그램입니다.

import os

# 현재 작업 디렉터리 확인
print(os.getcwd())

# 디렉터리 생성
os.mkdir("D:\\Tutorialspoint")

# 디렉터리 삭제
os.rmdir("D:\\Tutorialspoint")

# 디렉터리 재생성 후 이름 변경
os.mkdir("D:\\Tutorialspoint")
os.rename("D:\\Tutorialspoint", "D:\\Tutorialspoint2")

# 파일 생성 및 내용 작성
with open("Hello.txt", "w", encoding="utf-8") as file:
file.write("Hello there! This is a tutorialspoint article")

결론

지금까지 OS 모듈의 핵심 함수들과 Python 개발 과정에서 이를 어떻게, 어디에 활용할 수 있는지 살펴보았습니다.

OS 모듈에는 이 외에도 훨씬 더 다양하고 강력한 함수들이 포함되어 있습니다. 더 깊이 학습하고 싶다면 공식 문서(https://docs.python.org/3/library/os.html)를 참고해 보시기 바랍니다.