Python OS 파일/디렉토리 메서드

안녕하세요, 모험하는 Python 프로그래머 여러분! 오늘은 Python의 OS 모듈을 사용하여 파일과 디렉토리 조작의 흥미로운 세계에 빠져보겠습니다. 여러분의 친절한 이웃 컴퓨터 교사로서 저는 여러분이 이 여정을 걸어가며 각 concept를 이해하도록 단계별로 안내해 드리겠습니다. 그래서, 여러분의 가장 좋아하는 음료를 준비하고 편하게 앉아서 우리의 모험을 시작해보세요!

Python - OS File/Directory Methods

OS 모듈 소개

파일과 디렉토리 작업의 기초에 뛰어들기 전에, OS 모듈이란 무엇인지에 대해 잠시 이해해보겠습니다.

Python의 OS 모듈은 운영 체제와 상호작용하는 방법을 제공합니다. 이는 여러분의 Python 코드와 하부 시스템 간의 마법의 다리처럼 작동하며, 파일과 디렉토리에 대한 다양한 작업을 수행할 수 있게 합니다.

OS 모듈을 사용하려면, 우선 이를 임포트해야 합니다:

import os

이제 우리는 신뢰할 수 있는 OS 모듈을 임포트했으니, 파일과 디렉토리 작업에 유용한 몇 가지 메서드를 탐험해보겠습니다.

파일 작업

파일 존재 여부 확인

처음에 할 일 중 하나는 파일이 존재하는지 확인하는 것입니다. 이렇게 하면 됩니다:

import os

file_path = "C:/Users/YourName/Documents/my_file.txt"
if os.path.exists(file_path):
print("The file exists!")
else:
print("The file does not exist.")

이 예제에서는 지정된 경로에 파일이 존재하는지 os.path.exists()를 사용하여 확인합니다. 만약 존재하면 행복한 메시지를 출력하고, 그렇지 않으면 사용자에게 알립니다.

새 파일 생성

이제 새 파일을 생성해보겠습니다:

import os

file_path = "C:/Users/YourName/Documents/new_file.txt"
with open(file_path, 'w') as file:
file.write("Hello, World!")

print(f"A new file has been created at {file_path}")

여기서는 open() 함수를 'w' 모드(쓰기 모드)로 사용하여 새 파일을 생성합니다. 그런 다음 "Hello, World!"를 파일에 씁니다. 그리고 with 문을 사용하여 자동으로 파일을 닫습니다.

파일 이름 변경

때로는 파일의 이름을 변경하고 싶을 때가 있습니다. 이렇게 하면 됩니다:

import os

old_name = "C:/Users/YourName/Documents/old_file.txt"
new_name = "C:/Users/YourName/Documents/new_file.txt"

os.rename(old_name, new_name)
print(f"File renamed from {old_name} to {new_name}")

os.rename() 함수는 두 argument를 취합니다: 파일의 현재 이름과 주고 싶은 새 이름.

파일 삭제

이것에 주의하세요! 파일을 삭제하는 것은 강력한 작업이므로, 이 코드를 실행하기 전에 항상 두 번 확인하세요:

import os

file_to_delete = "C:/Users/YourName/Documents/unwanted_file.txt"

if os.path.exists(file_to_delete):
os.remove(file_to_delete)
print(f"The file {file_to_delete} has been deleted.")
else:
print("The file does not exist.")

우선 os.path.exists()를 사용하여 파일이 존재하는지 확인한 후, 존재하면 os.remove()를 사용하여 삭제합니다.

디렉토리 작업

이제 파일 작업을 다봤으니, 디렉토리 작업에 대해 살펴보겠습니다.

새 디렉토리 생성

새 디렉토리를 생성하는 것은 이렇게 간단합니다:

import os

new_dir = "C:/Users/YourName/Documents/NewFolder"

if not os.path.exists(new_dir):
os.mkdir(new_dir)
print(f"Directory {new_dir} created successfully!")
else:
print("Directory already exists.")

우리는 os.mkdir()를 사용하여 새 디렉토리를 생성합니다. 하지만 먼저 이를 생성하지 않도록 이미 존재하는지 확인합니다.

디렉토리 내용列举

디렉토리의 내용을 보고 싶은가요? 이렇게 하면 됩니다:

import os

dir_path = "C:/Users/YourName/Documents"

contents = os.listdir(dir_path)
print("Directory contents:")
for item in contents:
print(item)

os.listdir()는 지정된 디렉토리의 모든 파일과 하위 디렉토리를 나열합니다.

현재 작업 디렉토리 변경

현재 작업 디렉토리를 이렇게 변경할 수 있습니다:

import os

new_working_dir = "C:/Users/YourName/Desktop"

os.chdir(new_working_dir)
print(f"Current working directory changed to: {os.getcwd()}")

os.chdir()는 현재 작업 디렉토리를 변경하고, os.getcwd()는 현재 작업 디렉토리를 반환합니다.

디렉토리 삭제

마지막으로, 디렉토리를 삭제하는 방법을 살펴보겠습니다:

import os

dir_to_remove = "C:/Users/YourName/Documents/OldFolder"

if os.path.exists(dir_to_remove):
os.rmdir(dir_to_remove)
print(f"Directory {dir_to_remove} has been removed.")
else:
print("The directory does not exist.")

os.rmdir()는 지정된 디렉토리를 삭제하지만, 이는 비어 있어야 합니다. 디렉토리와 모든 내용을 삭제하려면 shutil 모듈을 사용해야 하며, 이는 미래의 수업에서 다룰 것입니다.

OS 파일/디렉토리 메서드 요약

다음은 우리가 다룬 메서드를 요약한 편리한 표입니다:

메서드 설명
os.path.exists() 파일이나 디렉토리가 존재하는지 확인
os.rename() 파일이나 디렉토리의 이름을 변경
os.remove() 파일을 삭제
os.mkdir() 새 디렉토리를 생성
os.listdir() 디렉토리의 내용을列举
os.chdir() 현재 작업 디렉토리를 변경
os.getcwd() 현재 작업 디렉토리를 가져오기
os.rmdir() 빈 디렉토리를 삭제

결론

축하합니다! 여러분은 Python의 OS 모듈을 사용하여 파일과 디렉토리 조작의 세계에 첫 걸음을 내딛었습니다. 기억하세요, 큰 힘에는 큰 책임이 따르는 것이므로, 특히 삭제할 때는 주의 깊게 파일과 디렉토리를 수정하세요.

Python 여정을 계속하면서, 파일과 디렉토리 작업은 데이터 처리, 파일 조직화, 심지어 자신의 파일 관리 시스템을 구축하는 데 매우 유용할 것입니다.

계속 연습하고, 호기심을 지켜고, 즐거운 코딩 되세요!

Credits: Image by storyset