본문 바로가기

교육 노트/파이썬 강의

[파이썬 때려잡기] Python 강의 22 - 파일입출력

2018/09/04 - [교육 노트/파이썬 강의] - [파이썬 때려잡기] Python 강의 1 - Hello World!

2018/09/04 - [교육 노트/파이썬 강의] - [파이썬 때려잡기] Python 강의 2 - 변수와 자료형, 연산자

2018/09/05 - [교육 노트/파이썬 강의] - [파이썬 때려잡기] Python 강의 3 - 파이썬의 자료구조, 리스트 (list)

2018/09/05 - [교육 노트/파이썬 강의] - [파이썬 때려잡기] Python 강의 4 - 파이썬의 스트링 (string)

2018/09/05 - [교육 노트/파이썬 강의] - [파이썬 때려잡기] Python 강의 5 - 스트링과 리스트 처리-1

2018/09/05 - [교육 노트/파이썬 강의] - [파이썬 때려잡기] Python 강의 6 - 스트링과 리스트 처리-2

2018/09/05 - [교육 노트/파이썬 강의] - [파이썬 때려잡기] Python 강의 7 - 튜플 (tuple)

2018/09/05 - [교육 노트/파이썬 강의] - [파이썬 때려잡기] Python 강의 8 - 딕셔너리 (Dictionary)

2018/09/08 - [교육 노트/파이썬 강의] - [파이썬 때려잡기] Python 강의 9 - 집합 (set)

2018/09/08 - [교육 노트/파이썬 강의] - [파이썬 때려잡기] Python 강의 10 - 사용자 입출력

2018/09/09 - [교육 노트/파이썬 강의] - [파이썬 때려잡기] Python 강의 11 - 변수와 메모리

2018/09/09 - [교육 노트/파이썬 강의] - [파이썬 때려잡기] Python 강의 12 - 조건과 조건문(분기문)

2018/09/09 - [교육 노트/파이썬 강의] - [파이썬 때려잡기] Python 강의 13 - 반복문 while문

2018/09/10 - [교육 노트/파이썬 강의] - [파이썬 때려잡기] Python 강의 14 - 반복문 for문

2018/09/12 - [교육 노트/파이썬 강의] - [파이썬 때려잡기] Python 강의 15 - 함수와 프로시져

2018/09/14 - [교육 노트/파이썬 강의] - [파이썬 때려잡기] Python 강의 16 - 함수 - 디폴트 및 키워드 인수

2018/09/14 - [교육 노트/파이썬 강의] - [파이썬 때려잡기] Python 강의 17 - 함수 - 전역변수, 지역변수

2018/09/14 - [교육 노트/파이썬 강의] - [파이썬 때려잡기] Python 강의 18 - 함수 인자 변경

2018/09/14 - [교육 노트/파이썬 강의] - [파이썬 때려잡기] Python 강의 19 - 모듈

2018/09/14 - [교육 노트/파이썬 강의] - [파이썬 때려잡기] Python 강의 20 - 난수 생성 모듈

2018/09/17 - [교육 노트/파이썬 강의] - [파이썬 때려잡기] Python 강의 21 - 그림그리는 거북이 모듈


지금까지 만든 프로그램들은 프로그램을 종료하면 모든 데이터가 날라가는 형식이었다.

그러나 우리가 사용하는 다양한 프로그램들을 대부분 저장, 불러오기 기능을 가지고있고

이를 통하여 게임랭킹, 각종 정보들을 프로그램을 껏다 켜도 유지되도록 할 수 있다.


이렇게 데이터 저장되는것을 파일이라고 부른다.

가장 대표적인 파일이 메모장에서 사용하는 *.txt 파일이다.




1. 파일



기존 프로그램이 대표적으로 exe 확장자를 가지고 있고 실행하면 정보를 메모리 (RAM) 에 기록한다.


RAM 은 대표적인 휘발성 메모리이므로 데이터를 영구적으로 저장 할 수 없다.

반면 파일의 정보는 하드디스크, SSD등 보조 기억 장치에 저장되어 영구히 보관할수있다.


파일입출력은 RAM에있는 정보들을 하드에 옮기거나 반대로 하드의 정보를 RAM에 옮겨 프로그램에서 사용할수있도록 하는것이다.



2. 파이썬에서 파일입출력

wfp = open("write_file_name.txt",'r')
wfp = open("write_file_name.txt",'w')
wfp = open("write_file_name.txt",'w',encoding='UTF-8')

open 함수를 이용하여 파일을 연다

첫번째 인자로 파일명이 들어간다.

두번째 인자로 모드가 들어간다.

모드는 'r'은 읽기 모드(이미있는 파일에서 데이터를 가져옴)

'w'는 쓰기 모드(파일을 새로 생성한다던가..)

'a'는 추가모드 (이미있는 파일에 뒤에 추가로 씀)

등등 이있다.

encoding은 인코딩 문제로 깨지는경우 인코딩을 지정해줄수있다.




3. 읽기

fi = open("File.txt",'r')

s = fi.read(10)
l = fi.readline()

read는 인자로 받은 값만큼 읽어서 스트링으로 만들고

readline은 한 라인을 스트링으로 만든다


4. 쓰기

wfp.write(line)

w모드로 오픈한경우 write를 이용하여 스트링을 파일에 쓰게할수있다.



728x90