티스토리 뷰
파일 시스템을 손쉽게 파악하는 os와 pathlib 사용법
파일 시스템은 컴퓨터에서 데이터를 관리하고 저장하는 중요한 방법입니다. 이를 통해 우리는 파일을 생성하고, 삭제하고, 탐색할 수 있습니다. 파이썬에서는 이러한 작업을 쉽게 수행할 수 있도록 os와 pathlib이라는 두 개의 모듈을 제공합니다. 이 글에서는 각각의 모듈을 자세히 살펴보고, 초보자들이 파일 시스템을 더 잘 이해할 수 있도록 도와줄 것입니다.
1. 기본 개념 이해하기
1.1. 파일 시스템이란?
파일 시스템은 데이터를 저장하는 구조입니다. 이는 파일과 폴더를 사용하여 정보를 정리하고, 접근하는 방법을 제공합니다. 파일 시스템은 운영 체제에서 중요한 역할을 하며, 다양한 형태로 존재합니다. 예를 들어, NTFS, FAT32, ext4 등의 파일 시스템이 있습니다.
1.2. Python에서의 파일 시스템 접근
Python에서는 os와 pathlib 모듈을 통해 파일 시스템에 접근할 수 있습니다. 이 두 모듈은 파일과 디렉토리를 관리하고, 파일 경로를 다루는 데 유용한 기능을 제공합니다.
2. os 모듈 사용법
2.1. os 모듈 소개
os 모듈은 운영 체제와의 상호작용을 위한 다양한 함수를 제공합니다. 이를 통해 디렉토리 생성, 파일 삭제, 경로 조작 등 다양한 파일 시스템 작업을 수행할 수 있습니다.
2.2. os 모듈의 주요 기능
- os.listdir(): 지정된 경로의 파일과 디렉토리 목록을 반환합니다.
- os.mkdir(): 새로운 디렉토리를 생성합니다.
- os.remove(): 지정된 파일을 삭제합니다.
- os.rename(): 파일이나 디렉토리의 이름을 변경합니다.
- os.path.join(): 여러 개의 경로를 결합합니다.
2.3. os 모듈 예제
다음은 os 모듈을 사용한 간단한 예제입니다.
import os
현재 작업 디렉토리 출력
current_directory = os.getcwd()
print("현재 작업 디렉토리:", current_directory)
새로운 디렉토리 생성
os.mkdir("new_folder")
새로 생성된 디렉토리 목록 확인
print("디렉토리 목록:", os.listdir())
3. pathlib 모듈 사용법
3.1. pathlib 모듈 소개
pathlib 모듈은 객체 지향적인 방식으로 파일 경로를 다룰 수 있도록 설계된 모듈입니다. 코드의 가독성이 높아지고, 상대 경로와 절대 경로 조작이 더 간편해집니다.
3.2. pathlib 모듈의 주요 기능
- Path(): 파일 시스템 경로 객체를 생성합니다.
- exists(): 파일이나 폴더가 존재하는지 확인합니다.
- is_file(): 경로가 파일인지 확인합니다.
- is_dir(): 경로가 디렉토리인지 확인합니다.
- mkdir(): 디렉토리를 생성합니다.
- rmdir(): 비어 있는 디렉토리를 삭제합니다.
3.3. pathlib 모듈 예제
다음은 pathlib 모듈을 사용한 간단한 예제입니다.
from pathlib import Path
현재 작업 디렉토리 설정
current_directory = Path.cwd()
print("현재 작업 디렉토리:", current_directory)
새로운 경로 객체 생성
newdir = currentdirectory / "new_folder"
newdir.mkdir(existok=True)
새로 생성된 디렉토리 목록 확인
print("디렉토리 목록:", list(current_directory.iterdir()))
4. os와 pathlib 비교
특징 | os 모듈 | pathlib 모듈 |
---|---|---|
저장소 | 함수 기반 | 객체 지향 기반 |
경로 조작 | os.path 모듈 사용 | 경로 객체 사용 |
가독성 | 상대적으로 낮음 | 높음 |
기능 | 더 많은 함수 제공 | 일부 기능만 제공 |
5. 파일 작업 예제
5.1. 파일 생성하기
아래는 os 모듈을 사용하여 파일을 생성하는 예제입니다.
파일 생성
with open("example.txt", "w") as file:
file.write("안녕하세요, 파일 생성 예제입니다.")
5.2. 파일 읽기
파일을 읽는 예제는 다음과 같습니다.
파일 읽기
with open("example.txt", "r") as file:
content = file.read()
print("파일 내용:", content)
5.3. 파일 삭제하기
os 모듈을 사용하여 파일을 삭제하는 방법은 다음과 같습니다.
파일 삭제
os.remove("example.txt")
6. 결론
여기까지 os와 pathlib 모듈을 사용하여 파일 시스템을 다루는 방법을 살펴보았습니다. 초보자들께서는 이러한 기본적인 기능을 익히고, 실제 프로젝트에서 활용해 보시길 권장합니다. 파일 시스템을 이해하는 것은 프로그래밍에 있어 매우 중요한 요소이므로, 지속적으로 학습하고 연습하는 것이 중요합니다.





