파이썬 - 디렉토리: 초보자 가이드

안녕하세요, 미래의 파이썬 열정가들! 오늘, 우리는 파이썬 디렉토리의 세계를 탐험하는 흥미로운 여정을 떠날 것입니다. 당신의 친절한 이웃 컴퓨터 교사로서, 저는 이 모험을 단계별로 안내해 드릴 것입니다. 그래서, 가상의 탐험가 모자를 쓰고, 함께 빠져나가보세요!

Python - Directories

파이썬에서의 디렉토리

먼저, 디렉토리란 정확히 무엇인가요? pues, 컴퓨터를 큰 도서관으로 상상해 보세요. 디렉토리는 이 도서관의 책장과 같아, 우리가 책(이 경우에는 파일)을 깔끔하게 정리하는 데 도움이 됩니다. 파이썬 세계에서는, 우리는 코드와 데이터를 정리하려고 디렉토리를 사용합니다.

디렉토리가 존재하는지 확인하기

디렉토리를 조작하기 전에, 항상 디렉토리가 존재하는지 확인하는 것은 좋은 생각입니다. 이는 우리가 책을 담으려는 책장이 이미 도서관에 있는지 확인하는 것과 같습니다. 이렇게 하는 방법은 파이썬에서 어떻게 하나요?

import os

# 디렉토리가 존재하는지 확인
if os.path.exists("my_awesome_folder"):
print("The directory exists!")
else:
print("Oops! The directory doesn't exist.")

이 코드에서, 우리는 os 모듈(이를 도서관 관리 시스템으로 생각해 봅시다)을 사용하고 있습니다. os.path.exists() 함수는 "my_awesome_folder" 디렉토리가 존재하는지 확인합니다. 만약 존재하면, 성공 메시지를 출력합니다. 그렇지 않으면, 사용자에게 존재하지 않음을 알립니다.

디렉토리 만들기

이제, 도서관에 새로운 책장을 추가하고 싶은 경우 어떻게 해야 하나요? 파이썬에서는 새로운 디렉토리를 만드는 것을 말합니다. 이렇게 하는 방법은 다음과 같습니다:

import os

# 새로운 디렉토리 생성
try:
os.mkdir("my_new_folder")
print("Hooray! We've created a new directory.")
except FileExistsError:
print("Oops! This directory already exists.")

여기서, 우리는 os.mkdir() 함수를 사용하여 "my_new_folder"라는 새로운 디렉토리를 만듭니다. 이를 try-except 블록으로 감싸고 있는 이유는, 만약 폴더가 이미 존재하면 파이썬이 FileExistsError를 발생시키기 때문입니다. 이렇게 해서, 에러를 우아하게 처리하고 사용자에게 알릴 수 있습니다.

현재 작업 디렉토리 가져오기

때로는 현재 작업 중인 책장(디렉토리)를 잊을 수 있습니다. 걱정마세요! 파이썬은 우리가 현재 위치를 알려주는 방법이 있습니다:

import os

# 현재 작업 디렉토리 가져오기
current_directory = os.getcwd()
print(f"You are currently in: {current_directory}")

os.getcwd() 함수는 현재 작업 디렉토리를 반환합니다. 이는 도서관에서 "현재 이 섹션에서 무엇을 하고 있는지 묻는 것과 같습니다."

파일과 디렉토리 목록 가져오기

현재 책장에 있는 모든 책(파일)과 서브 책장(서브디렉토리)을 볼고 싶은 경우 어떻게 해야 하나요? 파이썬은 이 작업을 쉽게 만듭니다:

import os

# 현재 디렉토리의 모든 파일과 디렉토리 목록 가져오기
contents = os.listdir()
print("Here's what we have in this directory:")
for item in contents:
print(item)

os.listdir() 함수는 현재 디렉토리의 모든 파일과 디렉토리를 반환합니다. 그런 다음 for 루프를 사용하여 각 항목을 인쇄합니다. 이는 현재 책장의 재고를 취득하는 것과 같습니다!

현재 작업 디렉토리 변경하기

때로는 도서관의 다른 책장으로 이동하고 싶을 수 있습니다. 파이썬에서는 현재 작업 디렉토리를 다음과 같이 변경할 수 있습니다:

import os

# 현재 작업 디렉토리 변경
try:
os.chdir("/path/to/new/directory")
print(f"We've moved to: {os.getcwd()}")
except FileNotFoundError:
print("Oops! That directory doesn't exist.")

os.chdir() 함수는 현재 작업 디렉토리를 변경합니다. 만약 디렉토리가 존재하지 않으면, FileNotFoundError를 발생시킵니다. 이를 캐치하고 처리합니다.

디렉토리 제거하기

마지막으로, 도서관에서 책장을 제거하고 싶은 경우 어떻게 해야 하나요? 파이썬에서는 다음과 같이 디렉토리를 제거할 수 있습니다:

import os

# 디렉토리 제거
try:
os.rmdir("folder_to_remove")
print("The directory has been removed successfully!")
except FileNotFoundError:
print("The directory doesn't exist.")
except OSError:
print("The directory is not empty. Please remove all files first.")

os.rmdir() 함수는 지정된 디렉토리를 제거합니다. 하지만, 디렉토리가 빈 경우에만 작동합니다. 만약 디렉토리가 존재하지 않으면 FileNotFoundError를 발생시킵니다. 디렉토리가 빈 것이 아니라면 OSError를 발생시킵니다.

다음은 우리가 배운 모든 디렉토리 관련 메서드를 요약한 표입니다:

메서드 설명
os.path.exists() 디렉토리가 존재하는지 확인
os.mkdir() 새로운 디렉토리 생성
os.getcwd() 현재 작업 디렉토리 가져오기
os.listdir() 현재 디렉토리의 모든 파일과 디렉토리 목록 가져오기
os.chdir() 현재 작업 디렉토리 변경
os.rmdir() 디렉토리 제거

그리고 이렇게 끝납니다, 여러분! 우리는 파이썬 디렉토리의 세계를 탐험했습니다, 존재를 확인하고 생성, 탐색, 심지어 제거하는 것까지. 기억하세요, 연습이 실력을 만든다는 말이 있습니다. 이러한 명령어에 대해 실험해 보세요. 코딩 잘 하세요, 그리고 파이썬 모험에는 깔끔하게 정리된 디렉토리가 가득하길 바랍니다!

Credits: Image by storyset