본문 바로가기
개발/파이썬

파이썬 파일 입출력 - python File I/O

by 티포스터 2021. 7. 4.
728x90

파이썬 파일 입출력 방법에 대해 알아보자.

 

파일 입출력을 하기 위해서는 어떤 함수가 필요할까?

상식적으로 파일을 열고 입력하고 출력하고 닫는 기능이 필요할 것 같다.

위 기능을 파이썬 함수에서 찾으면 open / close / read / write 함수가 있다.

 

먼저 파일을 open 해보자

open 함수를 보면 여러 인자가 들어가는데, file을 제외하고 default 값이 지정되어 있다.

즉, 반드시 필요한 인자는 파일명 이다.

가장 기초적인 사용법은 open("open할 file명") 이다.

file 인자 외에 꼭 알아야 할 인자는 mode이다.

해당 파일을 어떤 용도로 open할 것인지 지정하게 된다.

인자에 들어갈 문자는 아래에서 찾을 수 있다.

출처: https://docs.python.org/ko/3/library/functions.html?highlight=open#open

 

기본적으로 읽기 모드인 'r' 와 쓰기 모드인 'w'를 사용해보자.

읽기 모드를 이용해서 아래 test.txt 파일을 열고 읽어 보자.

파일을 읽을때는 read() 함수를 사용하면 된다.

test.txt
python
hello
update event
log

 

f = open("test.txt", "r")
text = f.read()
print(text)
f.close()

결과화면
python
hello
update event
log

 

read 함수 외에 readline, readlines 함수도 사용할 수 있다.

text = f.read()
print(text)
python
hello
update event
log
text = f.readline()
print(text)
python
text = f.readlines()
print(text)
['python\n', 'hello\n', 'update event\n', 'log']

 

파일에 내용을 쓸때는 write() 함수를 사용하면 된다.

f = open("test.txt", "w")
f.write("document\nfront")
f.close()

 

test.txt
document
front

test.txt를 보면 기존 데이터는 사라지고 document, front 만 작성되어 있다.

기존 데이터를 살리고 데이터를 이어 쓰려면 위에서 언급된 file open 시 mode를 변경해야 한다.

아래 mode 문자를 보면 'a' 옵션을 주면 파일의 끝에 덧붙인다고 되어 있다.

출처: https://docs.python.org/ko/3/library/functions.html?highlight=open#open

 

그렇다면 기존 데이터에 이어서 write를 해보자.

f = open("test.txt", "a")
f.write("document\nfront")
f.close()

 

test.txt
python
hello
update event
log
document
front

 

위에서 본 것처럼 만약 기존에 데이터가 있는 파일을 열때,

w모드로 파일을 열면 기존 데이터가 사라질 수 있으니 주의해야 한다.

 

 

 

 

728x90

'개발 > 파이썬' 카테고리의 다른 글

파이썬 문자열 함수 - python split  (0) 2021.07.05
파이썬 클래스 - python class  (0) 2021.06.12
파이썬 함수 - python def  (0) 2021.06.05
파이썬 조건문 - python if문  (1) 2021.05.29
파이썬 반복문 - python while문  (0) 2021.05.16