[Lecture/Python] 12강 - 파일

김찬미·2025년 5월 26일

[Lecture] Python

목록 보기
11/13

12강 - 파일

  • 파일의 이해
  • 파일의 활용

✅ 파일의 역할

컴퓨터에 의해 처리될 또는 처리된 데이터와 정보가 임시적으로 저장된 상태

  • 일련의 연속된 바이트
  • 프로그램(파이썬 소스코드)에 읽혀 가공·처리


파일의 구성

연속된 바이트파일의 시작, 파일 포인터, 파일의 끝(EoF)으로 표현


파일의 종류

📄 1) 텍스트 파일 Text File

  • 사람이 읽을 수 있는 문자로 구성된 파일
  • 특정 인코딩 방식(UTF-8, ASCII)으로 문자를 저장함

💾 2) 바이너리 파일 Binary File

  • 사람이 읽을 수 없는 이진 데이터(0과 `1)로 구성된 파일
  • 데이터가 특정 형식(포맷)에 따라 저장됨


파일 함수

파일의 시작, 파일 포인터, 파일의 끝을 활용하여 데이터 읽기, 쓰기를 위한 함수 및 메소드를 내장

멤버설명
open()fileobj 파일과 연결된 파일 객체 생성
read()파일에서 특정 개수의 문자를 읽어 반환
readline()파일에서 한 줄의 문자열을 읽어 반환
readlines()파일 전체 라인을 읽어 리스트 형태로 반환
write(s: str)파일에 문자열 s를 작성
close()파일을 닫고 파일 객체를 삭제

🔹파일 객체 생성

파일객체_참조변수 = open(파일이름, 모드)

→ 물리적인 파일과 연결된 파일 객체 생성참조변수에 할당

모드설명
r읽기 용도
w새로운 파일을 쓰기 위한 용도
a파일의 끝에 데이터를 덧붙이기 위한 용도

파일 이름

💡 파일 이름이란?
파일의 고유 식별자 역할 및 역할장치 내부에서 파일의 위치를 표현하는 파일경로를 내포


🔹파일 읽기

특정 범위의 데이터를 파일에서 읽고 문자열로 반환
파일 포인터의 이동을 동반

h_fp = open("Hamlet_by_Shakespeare.txt", "r")
 title = h_fp.read(6)
 author = h_fp.readline( )
 h_fp.close( )

🔹파일 쓰기

문자열을 파일 포인터가 위치한 지점에 기록
w 모드로 존재하는 파일 오픈 시 데이터 삭제

p_fp = open("python.txt", "w")
 p_fp.write("KNOU\n")
 p_fp.write("python programming\n")
 p_fp.close( )


🔹데이터 추가

파일의 끝에 데이터를 덧붙이는 작업
→ 파일 오픈 후 파일 포인터를 EoF로 이동
→ 존재하지 않는 파일은 write와 동일

a_fp = open("python.txt", "a")
 a_fp.write("\nby CS\n")
 a_fp.close( )

✅ 파일의 활용

시퀀스의 개념

순서화된 값의 집합체를 저장할 수 있는 데이터 타입

  • 단일 식별자로 연속된 저장 공간 접근 수단 제공
  • 개별 원소의 값을 수정, 추가, 삭제 가능
  • 원소(element)의 나열을 저장할 수 있는 타입
    • 리스트, 세트, 튜플, 딕셔너리 등
her_list = [1,5,14,2,31]

📖 딕셔너리 dictionary

🔹딕셔너리 구문

# 기본 구문 형식
딕셔너리_이름 = {1:1,2:2, ..., 키n:값n}

# 빈 딕셔너리 생성 구문 형식
딕셔너리_이름 = {}
딕셔너리_이름 = dict()

# 추가 구문 형식
딕셔너리_이름[] =# 삭제 구문 형식
del 딕셔너리_이름[]

세트, 리스트, 딕셔너리는 키 불가능

🔹딕셔너리 멤버

멤버설명
keys()포함된 모든 키를 tuple 형태로 반환
values()포함된 모든 값을 tuple 형태로 반환
items()(키, 값)의 형태로 모든 항목을 tuple로 반환
clear()모든 항목을 삭제하고 None 반환
get(key)지정한 key에 해당하는 값을 반환 (key가 없으면 None 반환)
pop(key)지정한 key에 해당하는 값을 반환하고, 해당 항목을 삭제
popitem()무작위로 한 (키, 값)tuple로 반환하고, 선택된 항목을 삭제

🔹딕셔너리 순회

💡 순회 traversal란?
각각의 항목을 순서대로 한 번씩만 방문하는 과정

for key in dictionary:
	print(key + ":" + str(dictionary[key])
    key 사용 블록

profile
백엔드 지망 학부생

0개의 댓글