본문 바로가기
Python

파이썬 파일 CRUD 예제(memo.txt 파일 처리)

by 헬로제이콥 2025. 5. 14.

파이썬 파일 CRUD 예제(memo.txt 파일 처리)

 

Python에서 파일을 다루는 데 있어서 핵심적인 기능은 open()함수입니다.

이 함수는 파일 이름  모드라는open() 두 개의 매개변수를 사용합니다 .

파일을 여는 데는 네 가지 방법(모드)이 있습니다.

"r"- 읽기 - 기본값. 파일을 읽기용으로 엽니다. 파일이 없으면 오류가 발생합니다.
"a"- 추가 - 추가를 위해 파일을 열고, 파일이 없으면 파일을 생성합니다.
"w"- 쓰기 - 쓰기를 위해 파일을 열고, 파일이 없으면 파일을 생성합니다.
"x"- 생성 - 지정된 파일을 생성하고, 파일이 있으면 오류를 반환합니다.
 

 

 

1. 파일에 내용 쓰기 (짧은 버전)

memo.txt 파일을 만들고 (또는 덮어쓰고) 간단한 내용을 씁니다.

Python
 
# write_short.py

filename = "memo.txt"

# 'w' 모드로 파일을 열어 내용을 씁니다. (기존 내용은 사라짐)
with open(filename, 'w', encoding='utf-8') as f:
    f.write("첫 줄입니다.\n")
    f.write("두 번째 줄입니다.\n")

print(f"'{filename}' 파일에 쓰기 완료.")

설명:

  • with open(...): 파일을 열고, 블록이 끝나면 자동으로 닫습니다.
  • 'w': 쓰기 모드입니다. 파일이 없으면 만들고, 있으면 내용을 덮어씁니다.
  • f.write(): 파일에 문자열을 씁니다.

2. 파일 내용 읽기 (짧은 버전)

memo.txt 파일의 내용을 읽어 화면에 출력합니다. (파일이 없으면 오류 발생)

Python
 
# read_short.py

filename = "memo.txt"

# 'r' 모드로 파일을 열어 내용을 읽습니다.
with open(filename, 'r', encoding='utf-8') as f:
    content = f.read() # 파일 전체 내용을 읽음

print("--- 파일 내용 ---")
print(content.strip()) # 앞뒤 공백 제거 후 출력
print("--- 읽기 완료 ---")

설명:

  • 'r': 읽기 모드입니다. 파일이 존재하지 않으면 이 프로그램은 오류를 내며 중단됩니다.
  • f.read(): 파일의 전체 내용을 문자열로 가져옵니다.

3. 파일에 내용 추가하기 (이어쓰기 - 짧은 버전)

memo.txt 파일의 기존 내용 끝에 새로운 내용을 추가합니다. (파일이 없으면 새로 만듦)

Python
 
# append_short.py

filename = "memo.txt"

# 'a' 모드로 파일을 열어 내용을 추가합니다.
with open(filename, 'a', encoding='utf-8') as f:
    f.write("새로운 내용 추가.\n")
    f.write("이어쓰기 테스트.\n")

print(f"'{filename}' 파일에 내용 추가 완료.")

설명:

  • 'a': 추가 모드입니다. 파일이 없으면 새로 만들고, 파일이 있으면 맨 끝에 내용을 추가합니다.

4. 파일 삭제하기 (짧은 버전)

memo.txt 파일을 삭제합니다. (파일이 없으면 오류 발생)

Python
 
# delete_short.py

import os # os 모듈 필요

filename = "memo.txt"

# 파일을 삭제합니다.
# 만약 'memo.txt' 파일이 이 시점에 존재하지 않으면,
# 이 프로그램은 FileNotFoundError 오류를 내며 중단됩니다.
os.remove(filename)

print(f"'{filename}' 파일 삭제 완료.")

설명:

  • import os: 파일 시스템 관련 작업을 위해 os 모듈을 가져옵니다.
  • os.remove(filename): 지정된 파일을 삭제합니다. 파일이 존재하지 않으면 이 프로그램은 오류를 내며 중단됩니다.

실행 순서 및 주의사항:

  1. write_short.py를 실행하여 memo.txt 파일을 만듭니다.
  2. read_short.py를 실행하여 내용을 확인합니다.
  3. append_short.py를 실행하여 내용을 추가합니다.
  4. 다시 read_short.py를 실행하여 추가된 내용을 확인합니다.
  5. delete_short.py를 실행하여 파일을 삭제합니다.
  6. delete_short.py 실행 후 다시 read_short.py나 delete_short.py를 실행하면 파일이 없으므로 오류가 발생하며 프로그램이 멈출 것입니다.

이 예제들은 "최대한 짧게"와 "예외 처리 없이"라는 요청에 맞춰 작성되었으므로, 실제 프로젝트에서는 상황에 맞게 오류 처리 로직을 추가하는 것이 바람직합니다.

 


# 프롬프트 (키보드로 ) 입력 받기

print("여러 줄을 입력하세요. 입력을 종료하려면 빈 줄에서 엔터를 누르세요.")
content = ""
while True:
    line = input()
    if line == "":
        break
    content += line + "\n"

# 입력한 내용을 파일에 저장하기
with open('abc.txt', 'w', encoding='utf-8') as f:
    f.write(content)

print("입력한 내용이 abc.txt 파일에 저장되었습니다.")