[kakao x goorm] 생성 AI 응용 서비스 개발자 양성 과정/회고록

[kakao x goorm] 파이썬의 모듈과 파일 입출력, Git 활용

Hoonia 2025. 3. 11. 13:30

모듈과 파일 입출력

모듈

정의 및 특징

  • 모듈은 서로 관련이 있는 프로그램 코드들을 묶어 놓은 파일로, 확장자는 .py이다.
  • 모듈에는 함수, 클래스, 데이터 등이 포함될 수 있으며, 재사용이 가능하여 프로그램 개발에 드는 노력을 절감할 수 있다.

모듈의 종류

  1. 표준 모듈: 파이썬 패키지에 기본적으로 포함된 모듈이다.
  2. 사용자 정의 모듈: 사용자가 직접 만들어서 사용하는 모듈이다.
  3. 써드파티 모듈: 제3자가 만들어서 제공하는 모듈이다.

import

  • import 키워드는 모듈을 불러오는 데 사용된다.
  • 불러온 모듈 뒤에 마침표를 붙여 해당 모듈이 포함된 함수를 사용할 수 있다.
 
# 모듈에서 일부분만 사용
from 모듈이름 import 함수 또는 클래스

# 모듈 이름에 별명을 붙여 사용
import 모듈이름 as 별명

모듈 만들기

  • 사용자가 직접 함수와 자료들을 하나의 파일에 모아두면 모듈이 된다.
  • 모듈의 구조는 다음과 같다:
# 모듈의 구조 (.py)
"""
docstring
"""

# 상수
상수 = 값

# 함수
def 함수이름():
    # 함수 내용

# 클래스
class 클래스이름:
    # 클래스 내용

파일 입출력

파일 읽기

프로그램 수행 중에 파일에 저장된 데이터를 읽어오거나 파일로 데이터를 저장하려면 프로그램과 파일을 연결해야 한다.

open() 함수

  • open() 함수는 프로그램과 파일을 연결하는 내장 함수이다.
  • 파일을 열 때는 파일명과 모드를 지정해야 한다.
파일객체 = open("파일명", 모드)

파일 모드

모드설명
r 읽기 모드 (기본값)
w 쓰기 모드 (파일이 없으면 생성, 있으면 덮어씀)
a 추가 모드 (파일 끝에 추가)
x 생성 모드 (파일이 이미 있으면 에러 발생)
t 텍스트 모드 (기본값)
b 바이너리 모드

파일 입력

  • 파일을 열고 나면 파일에 있는 데이터를 읽어올 수 있다.
  • 파일을 열면 반드시 닫아야 한다.
# 파일 읽기 예시
파일객체 = open("example.txt", "r")
데이터 = 파일객체.read()
print(데이터)
파일객체.close()

# with 문을 사용하면 자동으로 파일을 닫아줍니다.
with open("example.txt", "r") as 파일객체:
    데이터 = 파일객체.read()
    print(데이터)

Git 활용

추가로 Git의 활용에 대해 공부했다. Git은 형상 관리 툴로써 협업과 작업물을 아카이빙하는 데 많이 사용된다. 학부생 시절에도 Git 활용에는 문제가 없었지만, revert, reset 같은 명령어가 위험할 수 있으므로 개인이 혼자 사용하는 레포지토리에서도 사용을 자제하는 것이 좋다는 것을 배웠다.

Git의 주요 기능

  1. 버전 관리: Git은 프로젝트의 변경 이력을 관리하여 이전 버전으로 돌아가거나 변경 사항을 추적할 수 있다.
  2. 협업: 여러 개발자가 동시에 작업할 수 있으며, 각자의 변경 사항을 쉽게 병합할 수 있다.
  3. 아카이빙: 프로젝트의 모든 변경 사항을 기록하여 필요시 언제든지 이전 상태로 복구할 수 있다.

Git 명령어

1. git revert

  • 기능: 특정 커밋의 변경 사항을 되돌리는 데 사용된다. 커밋 기록을 유지하면서 안전하게 변경 사항을 되돌릴 수 있다.
  • 사용법: git revert <commit-hash>를 사용하여 특정 커밋의 변경 사항을 되돌린다.

2. git reset

  • 기능: 커밋 기록을 변경할 수 있으며, 특정 커밋으로 돌아가거나 변경 사항을 삭제할 수 있습니다. 주의가 필요하다.
  • 사용법:
    • git reset --soft <commit-hash>: 변경 사항을 스테이징 영역에 유지한다.
    • git reset --mixed <commit-hash>: 변경 사항을 작업 디렉토리에 유지한다 (기본값).
    • git reset --hard <commit-hash>: 변경 사항을 완전히 삭제한다 (주의 필요).

3. git checkout

  • 기능: 브랜치를 전환하거나 파일을 특정 상태로 복원하는 데 사용된다.
  • 사용법:
    • git checkout <branch-name>: 브랜치를 전환한다.
    • git checkout HEAD -- <file-name>: 파일을 마지막 커밋 상태로 복원한다.