본문 바로가기
KNOU/요약정리

[python] 파일

by bottlesun 2023. 5. 16.
728x90

파일의 역할

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

→ 일련의 연속된 바이트

→ 프로그램(파이썬 소스코드)에 읽혀 가공 처

파일의 구성

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

(파일의 시작)[ 바이트0 ][ 바이트1 ][ 바이트2 ][ 바이트3 ]…[ 바이트n-1 ][ 바이트n ] (파일의 끝EoF)

                                           ↑작업위치(포인터)

파일의 종류

데이터가 저장되는 방식에 따라 구분

→ 텍스트 파일

서로다른 문자로 인식하며, 별도의 인코딩 시스템을 사용해서 문자열 출력

→ 바이너리 파일

적은 데이터 용량으로 값들을 저장 한다.

대다수의 컨텐츠들은 바이너리 파일로 저장 되어 있다.

파일 함수

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

멤버 설명

멤버 설명
open():file obj 파일과 연결되어 있는 파일 객체 생성
read() 특정 개수의 문자를 반환
readline() 한 라인의 문자열을 반환
readlines():list 전체 라인의 문자열을 리스트로 반환
write(s:str): 파일에 문자열을 작성
close() 파일 닫기 및 파일 객체 삭제

파일 객체 생성

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

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

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

파일이름

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

(같은 경로에 있으면 경로 생략 가능)

파일읽기

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

→ 파일 포인터의 이동을 동반

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

close() 를 하지 않았을 경우 잘못된 연산이 이루어지거나 파일이 깨질 수 있으니까 꼭 해야한다.

파일쓰기

문자열을 파일 포인터가 위치한 지점에 기록

→ w 모드로 존재하는 파일 오픈 시 데이터 삭제

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

#결과
KNOU|npython programming|n

데이터추가

파일 끝에 데이터를 덧붙이는 작업

→ 파일 오픈 후 파일 포인터를 EoF로 이동

→ 존재하지 않는 파일은 write 와 동일

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

시퀀스의 개념

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

→ 단일 식별자로 연속된 저장 공간 접근 수단 제공

→ 개별 원소의 값을 수정, 추가, 삭제 가능

→ 원소(element) 의 나열을 저장 할 수 있는 타입

  • 리스트, 세트, 투플, 딕셔너리 등

딕셔너리의 이해

키와 값의 쌍(pir) 을 저장하는 시퀀스

딕셔너리_이름 = {key1:value1, key2:value2, key3:value3, ... keyn:valuen }

→ 세트, 리스트, 딕셔너리는 키가 될 수 없다

빈 딕셔너리

딕셔너리_이름 = {}
딕셔너리_이름 = dict{}

항목 추가

딕셔너리_이름[key] = value

항목 삭제

del 딕셔너리_이름[key]

딕셔너리 멤버

멤버 설명

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

딕셔너리 순회

순회(traversal) : 각각의 항목을 순서대로 한 번씩만 방문하는 과정

순회형식

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

댓글