Lecture 파이썬 파일 입출력

Lecture • Views 604 • Comments 0 • Last Updated at 2 months ago  
  • 입력
  • 파일 입출력

파일의 개념

실행중인 프로그램이 종료되면 결과 값은 메모리에서 사라지기 때문에 데어터는 더 이상 사용할 수 없으므로 중요한 데이터는 텍스트 파일이나 이진 파일로 하드디스크에 저장해야 된다.

텍스트 파일(text file)은 텍스트로 만들어진 파일의 형태로 연속적인 줄로 구성되며 각 줄의 끝은 줄바꿈 문자('\n')으로 종료된다.

이진 파일(binary file)은 컴퓨터가 읽을 수 있는 파일의 형태로 0과 1로 저장되어 있는 파일이다.

파일 입 \cdot 출력

파일을 입력하거나 출력하기 위해서는 open( )으로 파일 객체를 열어야 한다.

파일 객체가 열리면 파일에 데이터를 읽거나 쓸수 있다. 작업이 끝나면 close( )로 파일을 닫아줘야 한다.

파일 열기

파일을 여는 방법은 다음과 같다. 일반적인 방법으로는 한글은 읽을 수 없다. 한글을 읽기위해서는 "encoding='utf-8'"을 추가해야된다.

 파일객체 = open('파일명','모드종류',encoding='utf-8')

읽기용 혹은 쓰기용으로 파일을 열기 위해서는 모드를 설정해야한다. 모드의 종류는 다음 표에 나타나있다.

모두종류 설명
r 읽기모드
w 쓰기모드
r+ 읽기/쓰기 겸용모드
a 쓰기모드, 기존파일이 있으면 이어서 씀
t 텍스트 모드, 텍스트 파일을 처리
b 이진모드, 이진파일을 처리

파일 처리

파일 객체를 얻은 다음 파일 처리는 다음 명령어로 작업들을 진행한다.

read( )

전체를 한번에 읽어들인다.

f = open('test.txt','r',encoding='utf-8')
data = f.read()
print(data)
readline( )

줄 단위로 읽어들인다.

i = 0
f = open('test.txt','r',encoding='utf-8')
while True:
    d = f.readline()
    if not d: 
        break
    print(f'{i} : {d}')
    i += 1
print('end')  

줄 번호를 앞에 붙여서 출력하는 프로그램이다. 한 줄을 읽어들이면 마지막에 \n{\n}이 있어서 한 줄씩 더 띄어써진다.

readline()은 읽을 줄이 없으면 빈 문자열('')을 리턴한다.

readlines( )

전체를 한번에 읽어들여 리스트로 반환한다.

write( )

한줄씩 쓰기

f = open('test2.txt','w',encoding='utf-8')
f.write(data)
f.close()
writelines( )

모든 줄을 한꺼번에 쓰기

파일 닫기

변수명.close()

with

파일의 열기와 닫기를 자동으로 진행된다.

with문 안에서만 파일이 열려있고 with문이 끝나면 파일은 자동적으로 닫히게된다.

with open('testfile.txt','r',encoding='utf-8') as f1:
    data = f1.read()
    print(data)
with open('test2.txt','w',encoding='utf-8') as f2:
    f2.write(data)
first article
next article
Comments
Feel free to ask a question, answer or comment, etc.