본문 바로가기
파이썬/파이썬 기본 문법

[파이썬] 파일 입출력 File I/O input output

by Nov19 2018. 12. 10.
반응형


[파이썬] 파일 입출력


파이썬에서 파일을 읽거나 쓸때 쓰는 방법이다.

파일을 열때는 open() 내장함수로 파일을 열거나 생성해준다.

f = open("파일이름.확장자",'모드')
f.close()


파일열기모드

설명

r

읽기모드 - 파일을 읽기만 할 때 사용

w

쓰기모드 - 파일에 내용을 쓸 때 사용(덮어씀)

a

추가모드 - 파일의 마지막에 새로운 내용을 추가 시킬 때 사용


파일이름만 쓸 경우 현재 파일을 생서하는 파이썬 파일의 같은 경로에 파일이 생성되고

파일의 위치를 지정해 주고싶으면 경로와 함께 작성하면 해당 경로에 파일이 생성된다.


f = open("C:/해당경로/파일이름.확장자", '모드')
f.close()


파일을 쓰고 난 뒤에는 close()함수로 파일을 닫아주어야 한다.

프로그램을 종료할 때 파이썬 프로그램이 열려 있는 파일의 객체를 자동으로 닫아주긴한다

하지만 close()를 사용해서 열려 있는 파일을 직접 닫아 주는 것이 좋다

쓰기모드로 열었던 파일을 닫지 않고 다시 사용하려고 하면 오류가 발생한다.


파일을 읽는 방법

readline() 함수 이용하기

line = f.readline()
f = open("파일이름.확장자", 'r')
print(line)
f.close()

파일의 한 줄만 읽어와서 line변수에 담는다. 

만약 모든 라인을 읽어서 화면에 출력하고 싶다면 다음과 같이 작성하면 된다.

readline() 함수를 한번 쓰고 나면 그다음 줄에 커서가 위치한다. 

다시 readline() 함수를 사용하면 커서가 위치한 곳부터 다시 한줄을 읽어온다.

f = open("파일이름.확장자",'r') while True:     line = f.readline()     if not line:     break print(line) f.close()

f.tell() 

현재 파일 커서 위치 반환한다.

f.seek(x) 

읽고 있는 파일의 커서 위치를 x로 이동한다.


readlines() 함수 이용하기

f = open("파일이름.확장자",'r') lines = f.readlines() for line in lines:     print(line) f.close()

readlines() 함수는 파일의 모든 라인을 읽어서 각각의 줄을 요소로 갖는 리스트로 리턴한다.

 

read() 함수 이용하기

세 번째 방법은 read() 함수를 이용하는 방법이다. 다음의 예를 보자.

f = open("파일이름.확장자",'r')
data = f.read()
print(data)
f.close()

f.read()는 파일의 내용 전체를 문자열로 리턴한다.


파일에 새로운 내용 추가하기

쓰기 모드('w')

이미 존재하는 파일을 열 경우 그 파일의 내용이 모두 사라지게 된다.

추가 모드('a')

원래 있던 값을 유지하면서 단지 새로운 값만 추가해야 할 경우 

f = open("파일이름.확장자",'a') for i in range(11, 20):     data = "%d번째 줄.\n" % i     f.write(data) f.close()

with문과 함께 사용하기

파이썬의 with문은 파일을 자동으로 닫아준다. 

with open("파일이름.확장자","w") as f:
f.write("hello word")

with문을 이용하면 with 블록을 벗어나는 순간 열린 파일 객체 f가 자동으로 close된다.





반응형

'파이썬 > 파이썬 기본 문법' 카테고리의 다른 글

[파이썬] 모듈 Module  (0) 2018.12.11
[파이썬] 클래스 Class  (0) 2018.12.11
[파이썬] 함수 function def  (0) 2018.12.10
[파이썬 반복문] while, for  (0) 2018.12.07
[파이썬 조건문] if elif else  (0) 2018.12.07

댓글