-
Python의 파일 및 디렉터리 관리 🗂️프로그래밍/Python 2025. 3. 19. 00:58반응형

Python에서는 파일과 폴더(디렉터리)를 쉽게 관리할 수 있는 기능을 제공합니다. 이번 포스팅에서는 os와 shutil 모듈을 활용하여 파일을 다루는 방법을 소개하겠습니다! 🚀
1. os 모듈을 활용한 파일 및 폴더 관리
Python의 os 모듈을 사용하면 파일 시스템을 쉽게 다룰 수 있습니다.
📌 현재 작업 디렉터리 확인
import os print(os.getcwd()) # 현재 작업 디렉터리 출력✅ os.getcwd()를 사용하면 현재 작업 중인 폴더 경로를 알 수 있습니다.
📌 디렉터리 목록 확인
print(os.listdir(".")) # 현재 폴더에 있는 파일 및 폴더 목록 출력✅ os.listdir()을 사용하면 해당 폴더에 있는 모든 파일 및 폴더 목록을 가져올 수 있습니다.
📌 폴더 생성 및 삭제
os.mkdir("new_folder") # 새로운 폴더 생성 os.rmdir("new_folder") # 폴더 삭제 (비어있어야 함)✅ os.mkdir()은 새 폴더를 만들고, os.rmdir()은 빈 폴더를 삭제합니다.
📌 파일 존재 여부 확인
file_path = "example.txt" if os.path.exists(file_path): print("파일이 존재합니다.") else: print("파일이 없습니다.")✅ os.path.exists()를 사용하면 파일이나 폴더가 존재하는지 확인할 수 있습니다.
2. shutil 모듈을 활용한 파일 이동 및 복사
shutil 모듈은 파일 및 폴더를 복사, 이동, 삭제하는 기능을 제공합니다.
📌 파일 복사하기
import shutil shutil.copy("source.txt", "destination.txt") # source.txt를 destination.txt로 복사✅ shutil.copy()를 사용하면 파일을 새로운 위치로 복사할 수 있습니다.
📌 파일 이동하기
shutil.move("source.txt", "new_folder/source.txt")✅ shutil.move()를 사용하면 파일을 원하는 폴더로 이동할 수 있습니다.
📌 폴더 전체 복사
shutil.copytree("source_folder", "backup_folder")✅ shutil.copytree()를 사용하면 폴더 전체를 복사할 수 있습니다.
📌 폴더 전체 삭제
shutil.rmtree("backup_folder")✅ shutil.rmtree()를 사용하면 폴더와 그 안의 모든 파일을 삭제할 수 있습니다.
3. 연습문제: 직접 실습해보기! 🎯
아래 코드를 직접 실행해보면서 파일과 폴더를 다뤄보세요!
# 1. 현재 디렉터리에 "test_folder" 폴더를 생성하세요. os.mkdir("test_folder")# 2. "test_folder" 안에 "test_file.txt" 파일을 생성하고 내용을 작성하세요. with open("test_folder/test_file.txt", "w") as f: f.write("이 파일은 Python에서 생성되었습니다!")# 3. "test_file.txt"를 "backup.txt"로 복사하세요. shutil.copy("test_folder/test_file.txt", "test_folder/backup.txt")# 4. "test_folder"를 삭제하세요. shutil.rmtree("test_folder")
🎯 마무리
이번 포스팅에서는 Python을 활용한 파일 및 폴더 관리 방법을 배웠습니다! 🏆
✅ os 모듈을 사용하여 파일 및 폴더 관리
✅ shutil 모듈을 활용하여 파일 복사, 이동, 삭제
✅ 실습을 통해 직접 파일 시스템을 다뤄보기💡 다음 포스팅에서는 'Python의 JSON 데이터 처리'를 다룰 예정입니다! 🚀
✍️ 질문이나 궁금한 점이 있다면 댓글로 남겨주세요! 😊
'프로그래밍 > Python' 카테고리의 다른 글
Python 모듈과 패키지 🛠️📦 (0) 2025.03.12 Python 예외 처리 (Exception Handling) 🐍🛠️⚠️ (0) 2025.03.11 Python 파일 입출력(File I/O) 🐍📝✨ (0) 2025.03.10 Python 클래스(Class)와 객체(Object) 🐍✨ (4) 2025.03.09 Python 함수(Function) 🐍✨ (0) 2025.03.06