Akashic Records

4.3 파일 관리 본문

Python for Beginners

4.3 파일 관리

Andrew's Akashic Records 2023. 3. 20. 11:02
728x90

파이썬에서 파일 관리를 수행하려면 os 및 shutil 모듈을 사용할 수 있습니다. 이러한 모듈을 사용하면 파일 및 디렉터리를 생성, 복사, 이동, 삭제할 수 있습니다.

파일 및 디렉터리 관리:


예시 코드 1 - 파일 및 디렉터리 존재 확인:

import os

path = 'example.txt'
if os.path.exists(path):
    print(f"{path}는 존재합니다.")
else:
    print(f"{path}를 찾을 수 없습니다.")

 

예시 코드 2 - 디렉터리 생성:

import os

dir_path = 'new_directory'
if not os.path.exists(dir_path):
    os.makedirs(dir_path)
    print(f"{dir_path} 디렉터리가 생성되었습니다.")
else:
    print(f"{dir_path} 디렉터리가 이미 존재합니다.")

 

파일 복사, 이동, 삭제:

 

예시 코드 3 - 파일 복사:

import shutil

src = 'source.txt'
dst = 'destination.txt'

try:
    shutil.copy(src, dst)
    print(f"{src} 파일이 {dst}로 복사되었습니다.")
except FileNotFoundError:
    print(f"{src} 파일을 찾을 수 없습니다.")

 

예시 코드 4 - 파일 이동 (또는 이름 변경):

import shutil

src = 'source.txt'
dst = 'destination.txt'

try:
    shutil.move(src, dst)
    print(f"{src} 파일이 {dst}로 이동되었습니다.")
except FileNotFoundError:
    print(f"{src} 파일을 찾을 수 없습니다.")

 

예시 코드 5 - 파일 삭제:

import os

file_path = 'file_to_delete.txt'

try:
    os.remove(file_path)
    print(f"{file_path} 파일이 삭제되었습니다.")
except FileNotFoundError:
    print(f"{file_path} 파일을 찾을 수 없습니다.")

 

디렉터리 내용 나열:

 

예시 코드 6 - 디렉터리 내용 나열:

import os

dir_path = 'directory_to_list'

try:
    with os.scandir(dir_path) as entries:
        for entry in entries:
            print(entry.name)
except FileNotFoundError:
    print(f"{dir_path} 디렉터리를 찾을 수 없습니다.")

 

이 예제들은 파이썬의 os 및 shutil 모듈을 사용하여 파일 및 디렉터리를 관리하는 방법을 보여줍니다. 이를 통해 다양한 파일 관리 작업을 수행할 수 있습니다.

파일관리 오류 및 예외 처리 방법

파이썬에서 파일 작업을 할 때 일반적으로 발생하는 오류 및 예외 처리 방법에 대해 설명하겠습니다. 파일 작업 중 예외가 발생할 수 있는 경우는 다음과 같습니다.

 

  • 파일을 찾을 수 없음 (FileNotFoundError)
  • 권한이 없음 (PermissionError)
  • 파일이 이미 사용 중임 (FileExistsError, IsADirectoryError 등)

파이썬에서 예외를 처리하려면 try와 except 블록을 사용하여 예외를 적절하게 처리할 수 있습니다. 아래에 파일 처리 중 발생할 수 있는 일반적인 예외를 처리하는 예제를 제공하겠습니다.

예시 코드 1 - 파일을 찾을 수 없는 경우:

try:
    with open('non_existent_file.txt', 'r') as file:
        content = file.read()
except FileNotFoundError:
    print("파일을 찾을 수 없습니다.")

 

예시 코드 2 - 파일에 대한 권한이 없는 경우:

try:
    with open('restricted_file.txt', 'r') as file:
        content = file.read()
except PermissionError:
    print("파일에 대한 권한이 없습니다.")

 

예시 코드 3 - 여러 예외를 동시에 처리:

try:
    with open('unknown_file.txt', 'r') as file:
        content = file.read()
except FileNotFoundError:
    print("파일을 찾을 수 없습니다.")
except PermissionError:
    print("파일에 대한 권한이 없습니다.")


예시 코드 4 - 모든 예외를 처리:

try:
    with open('unknown_file.txt', 'r') as file:
        content = file.read()
except Exception as e:
    print(f"파일 처리 중 오류 발생: {e}")

 

위 예제들은 파일 작업 중 발생할 수 있는 일반적인 예외를 처리하는 방법을 보여줍니다. 이를 통해 안정적이고 견고한 파일 처리 코드를 작성할 수 있습니다. 예외 처리를 통해 발생하는 문제에 대해 사용자에게 적절한 피드백을 제공하거나, 프로그램 실행이 중단되지 않도록 할 수 있습니다.

728x90

'Python for Beginners' 카테고리의 다른 글

5.1 클래스(Class)와 객체(Object)  (0) 2023.03.20
4.4 CSV, JSON 파일 다루기  (0) 2023.03.20
4.2 파일 쓰기(open 함수)  (0) 2023.03.20
4.1 파일 읽기(open 함수)  (0) 2023.03.20
3.5 컬렉션 모듈  (0) 2023.03.17
Comments